TINYINT(1)
我添加了几个带有属性和默认值的列(100+),NULL
但问题是默认值必须为0
.
有什么办法可以通过检测字段TINYINT(1)
然后更改表来通过查询来做到这一点?
请帮我。
您可以执行查询以查找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
,这是您需要执行以更改默认值的查询。