当前,我拥有MySQL 5.6版本。在此版本的INT
中,类型列将自动为0,即使默认值为none。
列= question_status,类型= INT,默认=无
旧查询:INSERT INTO tbl_question (question_status) VALUES ('');
以上查询将在我的旧版本上完美运行。
现在,我已将数据库导入到MySQL 5.7.2的较新版本中
新查询:INSERT INTO tbl_question (question_status) VALUES ('');
上面的查询是相同的,但是它说我必须更改column的默认值,因为column数据类型是INT
。
如果我将新版本中的默认值手动更改为0。它将完美运行。
问题是我在数据库中有大约100个表,并且有许多INT
类型的列,所以我不能一一更改每个列的默认值。
答案 0 :(得分:0)
您可以通过此查询选择所有具有INT类型的列:
SELECT * FROM information_schema.columns WHERE table_schema = '<YOUR_DB>' data_type = 'INT'
然后,为大规模修改编写一个简单的脚本将很容易。