Вы можете выполнить запрос, чтобы найти эти столбцы в INFORMATION_SCHEMA
, который представляет собой кучу представлений, автоматически поддерживаемых сервером.
Попробуйте это:
USE INFORMATION_SCHEMA;
SELECT * FROM `COLUMNS`
WHERE COLUMN_TYPE = 'tinyint(1)'
Вы можете добавить фильтр в базе данных, или таблицы. Затем, вы можете создавать запросы непосредственно с этой точкой зрения:
SELECT CONCAT("ALTER TABLE ", TABLE_SCHEMA, ".", TABLE_NAME, " MODIFY ", COLUMN_NAME, " tinyint(1) DEFAULT 0") AS q
FROM `COLUMNS`
WHERE COLUMN_TYPE = 'tinyint(1)'
Это будет генерировать запросы, как: ALTER TABLE schema.table MODIFY column tinyint(1) DEFAULT 0
, что то, что вам нужно выполнить, чтобы изменить значение по умолчанию.
экспортировать весь сценарий в файл .sql и найти столбец tinyint (1) и заменить дизайн по умолчанию 0 –
Это по существу дубликат столбцов [Alter All TinyInt (1) в базе данных, чтобы не было нулевого значения по умолчанию 0] (http: /stackoverflow.com/questions/9135716/alter-all-tinyint1-columns-in-database-to-not-null-default-0?rq=1), хотя ответ Гийома ниже более полный. – StvnW