考虑 table1 的表模式:
编号:整数 country_id: 整数 描述:varchar(50)
和查询:
INSERT INTO table1(id, country_id, description) VALUES (1, '20', 'Test Desc');
这将在 MySQL 4x 下工作,但在 MySQL 5x 下会失败(错误 1067 (42000): Invalid default value for ..")。
我知道发生这种情况的原因 - country_id是int,因此不应被引用。某处是否有一个低于 5x 的 mysql 开关,使其表现得像 4x,这样查询就不会失败?
我继承了一个使用这样的查询的应用程序,我正在寻找一个快速修复,直到我有时间修复所有查询。
谢谢