Mysql 将默认值从NULL替换为0
我添加了几个属性为Mysql 将默认值从NULL替换为0,mysql,sql,Mysql,Sql,我添加了几个属性为TINYINT(1)和默认值为NULL的列(100+),但问题是默认值必须为0 我有没有办法通过查询检测字段TINYINT(1)然后修改表来实现这一点?? 请帮助我。您可以执行查询,在信息\u架构中查找这些列,这是一组由服务器自动维护的视图 试试这个: USE INFORMATION_SCHEMA; SELECT * FROM `COLUMNS` WHERE COLUMN_TYPE = 'tinyint(1)' 您可以在数据库或表上添加筛选器。然后,您可以使用此视图直接创建查
TINYINT(1)
和默认值为NULL
的列(100+),但问题是默认值必须为0
我有没有办法通过查询检测字段TINYINT(1)
然后修改表来实现这一点??
请帮助我。您可以执行查询,在
信息\u架构中查找这些列,这是一组由服务器自动维护的视图
试试这个:
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)列并将设计替换为DEFAULT 0这实际上是,尽管纪尧姆下面的回答更完整。