允许mysql整数列中的引用值?

时间:2009-10-16 10:18:57

标签: mysql mysql-error-1067

考虑table1的表模式:

id: int
country_id: int
description: varchar(50)

和查询:

INSERT INTO table1(id, country_id, description) VALUES (1, '20', 'Test Desc'); 

这可以在MySQL 4x下运行但在MySQL 5x下会失败(ERROR 1067(42000):...的默认值无效。)。

我知道发生这种情况的原因 - country_id int ,因此不应引用。是否有一个5x以下的mysql开关使其行为像4x,所以查询不会失败?

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

谢谢

1 个答案:

答案 0 :(得分:1)

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