我正在使用內存表。它有幾個ID和計數器,所有的數據都是整數。 如果數據存在,我的代碼會將計數器更新1,否則會創建一個計數器= 1的行。Mysql重複進入錯誤ON DUPLICATE KEY UPDATE
我使用的查詢是:
INSERT INTO linked_mem
(id1, id2, id31, id4 cnt)
VALUES (31316, 0, 557158967, 261470594, 1)
ON DUPLICATE KEY UPDATE cnt= cnt+1
偶爾(插入的5%左右),我得到「重複項‘[關鍵數字】’關鍵1
這可能是什麼問題,難道不是? 「T的對重複密鑰更新部分應該處理重複鍵
更新:加入創建真正的表的表
CREATE TABLE `linked_mem` (
`li_sid` int(10) unsigned NOT NULL default '0',
`li_id1` int(10) unsigned NOT NULL default '0',
`li_cid1` int(10) unsigned NOT NULL default '0',
`li_id2` int(10) unsigned NOT NULL default '0',
`li_cid2` int(10) unsigned NOT NULL default '0',
`cnt` int(10) unsigned NOT NULL default '1',
`li_filter` int(10) unsigned NOT NULL default '0',
`li_group` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`li_id1`,`li_sid`,`li_cid1`,`li_cid2`,`li_group`,`cnt`,`li_id2`)
) ENGINE=MEMORY DEFAULT CHARSET=latin1
可以上傳linked_mem的創建表 – 2009-06-25 09:56:02