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