Duplicate entry 't_id' for key 'PRIMARY' 错误
2012-11-14 22:08
435 查看
Duplicate entry 't_id' for key 'PRIMARY'
错误SQL 查询:
INSERT INTO `new_table`.`eos_datas` (
`area_id` ,
`area_bid` ,
`factory` ,
`material` ,
`kind` ,
`width` ,
`thickness` ,
`price` ,
`time` ,
`status`
)
VALUES ('0', '0', '0', '0', '0', '0', '0', '13213', NOW( ) , '1')
MySQL 返回:
#1062 - Duplicate entry '127' for key 'PRIMARY'
数据表结构:
以上就是data_id这个主键问题。总是停在127上,不向前移动。
网上查找一番,得到:
1。
重复了
你的那个id字段有primary key或者唯一的属性。不能重复的
2。
out range of ....(不记得了),改mysql->my.ini?
上面只是针对一般情况,还是解决不了。
删掉最后一个数据可行,但接着就出错了。
一看data_id为tinyint, 是表的设计有问题。改为int,ok.
网上也跪了一圈,也有和我一样情况的。
如下:
找到原因了,貼出來大家看一下,應該有滿多朋友遇到的情況和我一樣。
這是我建表的命令
CREATE TABLE `employee_staff` (
`staff_id` tinyint(10) NOT NULL auto_increment,
`name` varchar(8) NOT NULL,
`class` varchar(4) NOT NULL,
`sector` varchar(10) NOT NULL,
`group` varchar(14) NOT NULL,
`staff` varchar(4) NOT NULL,
`staff_time` varchar(10) NOT NULL,
PRIMARY KEY (`staff_id`)
) ENGINE=MyISAM DEFAULT CHARSET=big5;
發現問題了嗎?問題就出在tinyint這個字符類型上面。
TINYINT[(M)] [UNSIGNED] [ZEROFILL]
一个很小的整数。有符号的范围是-128到127,无符号的范围是0到255
SMALLINT[(M)] [UNSIGNED] [ZEROFILL]
一个小整数。有符号的范围是-32768到32767,无符号的范围是0到65535。
MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]
一个中等大小整数。有符号的范围是-8388608到8388607,无符号的范围是0到16777215。
INT[(M)] [UNSIGNED] [ZEROFILL]
一个正常大小整数。有符号的范围是-2147483648到2147483647,无符号的范围是0到4294967295。
INTEGER[(M)] [UNSIGNED] [ZEROFILL]
这是INT的一个同义词。
BIGINT[(M)] [UNSIGNED] [ZEROFILL]
一个大整数。有符号的范围是-9223372036854775808到9223372036854775807,无符号的范围是0到
18446744073709551615。
痛苦啊。研究了幾天,問題出在這。。不好好學SQL基礎,下場可悲啊。
http://www.php100.com/forum/read-htm-tid-2016.html
没认真学过mysql,还是要出问题的。细节啊。。。
相关文章推荐
- mysql 导入时错误 #1062 –Duplicate entry '1' for key 'PRIMARY'
- mysql出现Duplicate entry '0' for key 'PRIMARY'的错误
- mysql错误: Duplicate entry '2' for key 'stateid'
- Duplicate entry '0' for key 'PRIMARY'错误
- Duplicate entry '1000094731-2' for key 'PRIMARY', Error_code: 1062;
- Duplicate entry '0' for key 'PRIMARY'.
- mysql Duplicate entry ''xxx" for key 'NewIndex1'错误
- Duplicate entry '5' for key 'PRIMARY'
- MySQLIntegrityConstraintViolationException: Duplicate entry '***' for key 'PRIMARY'
- Duplicate entry '127' for key 'PRIMARY'的解决方法
- mysql主键设置成auto_increment时,进行并发性能测试出现主键重复Duplicate entry 'xxx' for key 'PRIMARY'
- Duplicate entry '222' for key 'PRIMARY'
- MySQL --- SQL Error: 1062: Duplicate entry '2147483647' for key 'PRIMARY'
- 增加字段改为主键后:1062-Duplicate entry '' for key 'PRIMARY'
- MySQL主键重复问题解决 Duplicate entry '787192513' for key 'PRIMARY'
- ERROR 1062 (23000): Duplicate entry '0' for key 'PRIMARY'
- Duplicate entry '20120323' for key 'PRIMARY'
- mysql #1062 –Duplicate entry '1' for key 'PRIMARY'
- Duplicate entry '0' for key 'PRIMARY'
- Duplicate entry '125152' for key 'PRIMARY'