目前,我有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/