繁体   English   中英

将空字符串插入MySQL 5中的auto_increment列

[英]Inserting empty string into auto_increment column in MySQL 5

我继承了一个项目,我们正尝试从MySQL 4.0(!)以及从myISAM到InnoDB迁移到MySQL 5。 现在查询下降了,因为它们是在所有参数(包括整数)上使用ADODB连接的-> qstr()构造的。 在没有提供任何价值的地方,我最终得到:

INSERT INTO tablename VALUES ('', 'stuff'...)

其中第一列是auto_increment。 这会导致错误(因为”不是int,所以很公平)。 MySQL中是否有开关可以使其像以前一样工作(我假设它只是默默地转换为0?)

编辑

我只是进行了一些测试,而我在下面写的内容根本无法帮助您。 该错误是由于错误的数据类型引起的,而我建议的SQL设置也不会更改该设置。 不过,我将在此处保留此答案,因为它可能对其他人有帮助。


首先,仔细检查该列是否确实是自动递增的-几次我都CREATE TABLECREATE TABLE文件,但遗憾的是缺少了列为auto_increment的事实。

可能有帮助的另一件事是检查是否未打开NO_AUTO_VALUE_ON_ZERO

SET SQL_MODE=''应该将其关闭。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM