0

我正在编写一个可悲的是我继承的脚本 - 没有评论或任何东西。啊!出于测试目的,我复制了数据库中具有自动递增 ID 的表之一。但是,当数据保存到数据库时,ID 号只是读取“0”——这是该列的默认值。我不确定为什么它不再自动增加......有什么想法吗?谢谢!

4

4 回答 4

4

您确定将重复表中的字段设置为自动递增吗?尝试运行:

 ALTER TABLE `duplicate_table` CHANGE `ai_key` `ai_key` INT( key_length ) NOT NULL AUTO_INCREMENT  

并查看它是否已设置。

于 2009-01-08T00:08:48.080 回答
2

您是从头开始创建新表还是将其作为真实副本?如果该列应该自动递增,则它应该是主键(或至少是唯一键),没有默认值。

于 2009-01-08T00:11:20.963 回答
1

只是为了仔细检查使用 sql 语句来显示两个表的show create table语法并进行比较。

show create table <table>
于 2009-01-08T00:22:24.917 回答
0

听起来您的专栏实际上auto_increment不再存在。这发生在我身上好几次了,因为我用来创建备份的 phpMyAdmin 中有一个错误(?):它不会将auto_increment关键字添加到 CREATE TABLE 语句中。是一个巨大的臀部疼痛......

于 2009-01-08T00:26:07.843 回答