我正在编写一个令我遗憾地继承的脚本 - 没有任何评论或任何内容。哎呀! 出于测试目的,我复制了数据库中具有自动递增ID的一个表。但是,当数据保存到数据库时,ID号只读为“0” - 这是该列的默认值。我不确定为什么它不再自动增加...任何想法?谢谢!
答案 0 :(得分:4)
您确定将重复表中的字段设置为自动递增吗?尝试运行:
ALTER TABLE `duplicate_table` CHANGE `ai_key` `ai_key` INT( key_length ) NOT NULL AUTO_INCREMENT
看看它是否已设定。
答案 1 :(得分:2)
您是从头开始创建新表还是作为真实副本?如果列应该自动递增,则它应该是主键(或至少是唯一键),没有默认值。
答案 2 :(得分:1)
只是要仔细检查使用sql语句来显示两个表的show create table语法并进行比较。
show create table <table>
答案 3 :(得分:0)
听起来您的专栏实际上不再是auto_increment
了。这种情况发生在我身上几次,因为phpMyAdmin中存在一个错误(?)我用来创建备份:它不会将auto_increment
关键字添加到CREATE TABLE语句中。 那是一个巨大的痛苦... ...