mysql - 更改mysql版本5.7.2中mysql(phpmyadmin)的INT默认值

标签 mysql phpmyadmin

目前,我有MySQL 5.6版本。在此版本中,INT 类型列将自动采用 0,即使默认值为无。

Column = question_status, Type= INT, Default= None

旧查询:INSERT INTO tbl_question (question_status) VALUES ('');

以上查询将在我的旧版本上完美运行。

现在,我已将数据库导入到较新版本的 MySQL 5.7.2

新查询:INSERT INTO tbl_question (question_status) VALUES ('');

上面的查询是相同的,但它说我必须更改列的默认值,因为列数据类型是 INT

如果我在新版本中手动将默认值更改为 0。它将完美运行。

问题是我的数据库中有大约 100 个表和许多 INT 类型列,因此我无法一一更改每一列的默认值。

最佳答案

您可以使用此查询选择所有具有 INT 类型的列:

SELECT * FROM information_schema.columns WHERE table_schema = '<YOUR_DB>' data_type = 'INT'

然后就可以很容易地编写一个用于大规模更改的简单脚本。

关于mysql - 更改mysql版本5.7.2中mysql(phpmyadmin)的INT默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51787589/

相关文章:

mysql - Clickhouse,快速连接引擎

sql - 涉及类似异或条件的 SQL 查询问题

mysql - Hibernate JDBCExceptionReporter -> 连接有效性、超时、自动重连

mysql - 使用用户名和密码配置 phpMyAdmin 不允许登录

mysql - 删除数据库时出错(无法 rmdir '.test\' ,errno : 17)

mysql - 如何将 "index"添加到 MySQL 中的行组

MYSQL从连接表中选择最大日期

mysql - 恢复MySQL的用户根目录

php - 警告 :unlink() Resource temporarily unavailable

mysql - HeidiSQL 类似于 Windows 软件,但具有 zip/gzip 导出和导入功能。有没有?