数据库
首页 > 数据库> > 为什么我的MySQL唯一密钥失败了?

为什么我的MySQL唯一密钥失败了?

作者:互联网

INSERT INTO `ree`.`media` 
(`CREATEDATE`, `FILETYPE`, `MIMETYPE`, `MLSNUMBER`, `MODIFYDATE`, `POSITION`, `URL`) VALUES 
('2011-12-27T15:00:16', 'PRIMARY PHOTO', 'image/jpeg', 5030011414, '2011-12-27T15:00:16', 1, 'http://image.realcomponline.com/photos.rps?PATH=PROPERTY/57FA/57FAA44C48854C/3QQGONGA03I7CN.jpg&g=100&sp=0&l=0&t=0&r=10000&b=10000&o=0&1cf=0&w=320&h=240'),
('2011-12-27T15:00:18', 'PRIMARY PHOTO', 'image/jpeg', 5030011507, '2011-12-27T15:00:18', 1, 'http://image.realcomponline.com/photos.rps?PATH=PROPERTY/6FC7/6FC7B6F88D8F45/3SQGONGA01RXH1.jpg&g=100&sp=0&l=0&t=0&r=10000&b=10000&o=0&1cf=0&w=320&h=240')

错误:为’uneek’键重复输入’2147483647-1′

在区分两个插入之前,似乎我的MLSNUMBER的UNIQUE键没有解析整个数字.

两者都以5030011开头……

以下是我构建密钥的方法:
添加UNIQUE unek(MLSNUMBER,POSITION)

有没有办法建立这个密钥,所以它接受整个10位而不是前7位?

提前致谢!

解决方法:

你已经用完了int的范围.
2147483647 = 2 ^ 31 – 1
您可以在该字段上将此int更改为例如64位:

ALTER TABLE media MODIFY COLUMN MLSNUMBER BIGINT NOT NULL;
(Modify unsigned and not null for your needs).

标签:unique-index,mysql
来源: https://codeday.me/bug/20190723/1512577.html