Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 将默认值从NULL替换为0_Mysql_Sql - Fatal编程技术网

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这实际上是,尽管纪尧姆下面的回答更完整。