1
我有最奇怪的問題,插入一行到MyISAM表。MysQL忽略int值 - 重複項「KEY PRIMARY」
insert into mytable (id, status, code) values (2534480091, 0, '253448009')
#1062 - 重複錄入 '2147483647' 關鍵 'PRIMARY'
哪兒它甚至走到如此地步,ID應該插入ID 爲?運行此查詢之前,我已經確定了號:
select id from mytable where id = 2534480091 limit 1;"
結構
`id` int(11) NOT NULL AUTO_INCREMENT,
`status` tinyint(1) NOT NULL,
`code` varchar(64) NOT NULL,
指數
PRIMARY KEY (`id`),
KEY `status` (`status`),
KEY `code` (`code`),
我已經試過截斷表,檢查它錯誤和修復它。似乎沒有任何工作。
背後的PHP代碼沒有任何問題。在phpMyAdmin中手動傳遞此查詢會顯示完全相同的錯誤。
發生了什麼事?
'數字2,147,483,647(或十六進制7FFF,FFFF)是32位帶符號二進制整數的最大正值' –
使用long int,int太大,所以它只會將id視爲最大值對於int – Phiter
感謝的人,我真的認爲int(11)意味着11位數字。 – tim