表结构大体是这样的:CREATE TABLE IF NOT EXISTS aa (
id int not null auto_increment primary key,
name varchar(255) character set gbk NOT NULL);<?php
include("inc/include.php");
for($i=0;$i<1000;$i++)
{
$db->query("insert into aa values($i,'a')"); }
?>
报错:Duplicate entry '1' for key 1
不知道为什么啊?自动增长字段不能给一个特定的值吗?
id int not null auto_increment primary key,
name varchar(255) character set gbk NOT NULL);<?php
include("inc/include.php");
for($i=0;$i<1000;$i++)
{
$db->query("insert into aa values($i,'a')"); }
?>
报错:Duplicate entry '1' for key 1
不知道为什么啊?自动增长字段不能给一个特定的值吗?
解决方案 »
- 关于mysql-cluster用于实际生产环境的问题
- mysql多表删除 快点 再快点....
- 特意申请了几个数据库相关的技术群,欢迎并期待您的到来
- xammp 安装后mysql无法启动!求解~~~
- 在线图书管理系统的MySQL要哪些模块?
- 高手帮忙写个多表查询,应该不难,但是我是菜鸟,请指教下,在线等
- mysql的 hex x可以把字符串转为16进制,请问怎么转回来。
- 如何在mysql 用中文字段?
- 已知长度为n的字符串数组,把n字符串插入MySQL数据表中,用SHELL脚本
- 大牛请帮忙,mysql 更新记录后,其中3条数据隔了6小时候,自动消失。
- 超笨的sql,高手进来批判下
- 遇到这样一个效率问题,不知道如何解决。
但你这个值估计已经存在了。主键冲突。select * from aa 看看表中是不是已经有id为1到1000的记录了。
当你 i=0 时
insert into aa values (0,'a');这时id 由于是auto_increment 其实会认为你的id 没有给值,就会以 1 填充。等再 i=1 时候主键冲突了。改成 for($i=1;$i<=1000;$i++)
# acmain
再次感谢你!