我添加了多个列(100+),其中包含属性TINYINT(1)
和默认值NULL
,但问题是默认值必须为0
。
有没有办法通过检测字段TINYINT(1)
然后更改表格来查询?
请帮帮我。
答案 0 :(得分:2)
您可以执行查询以查找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
,这是您需要执行以更改默认值的内容。