$use = D('Classone');
$data['姓名']='黄方舟';
$data['学号']='1598756321';
$data['语文']='101';
$data['数学']='99';
$data['英语']='115';
$data['time']=date("Y-m-d H:i:s",Time());
$use->create($data);
$use->add();
这段代码之前行,会自动增加主键;
但是现在失效了,提示主键重复:
1062:Duplicate entry '0000000000' for key '学号' [ SQL语句 ] : INSERT INTO classone
(语文
,数学
,英语
,time
,name
) VALUES ('101','99','115','2017-08-22 02:31:58','黄方舟')
请问我是无意中改了什么才会这样的呢?
补充,被踩莫名其妙,请评论说出你的不满好吗?是因为我自己遇到过这种问题,实际解决过才回答的,
烦请题主如果解决了问题帮我顶一下顶回来哈。
按照你说的,你的学号是自动增加,那么你填写的学号就无效了。有可能是你用来测试,生成了一大堆后删除又生成了一大堆,导致自动增加的计数器溢出。
解决:
第一步 返回最大 学号
第二部 对齐计数器
最后重试插入数据的代码。
另外说一句,学号这东西自动增加怎么感觉有点奇怪,不过这个就是数据库结构的事情了。