0

考虑 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_idint,因此不应被引用。某处是否有一个低于 5x 的 mysql 开关,使其表现得像 4x,这样查询就不会失败?

我继承了一个使用这样的查询的应用程序,我正在寻找一个快速修复,直到我有时间修复所有查询。

谢谢

4

1 回答 1

1

'20'没有问题。MySql (5.x) 也将 '20' 转换为 20 并且 => 这是一个有效的插入

于 2009-10-16T10:30:23.317 回答