MySQL 插入失败,索引上有重复条目
MySQL Insert Failing with Duplicate Entry on Index
我正在尝试执行插入语句。我有一个独特的索引设置,结合了 phone_number 和 niche.
INSERT INTO CV_YP.table (phone_number,website,niche) VALUES
(1231231234, 'website.com', 'fitness')
return 值表示我有一个重复条目,但 phone 数字与我刚尝试插入的数字不同。
ERROR 1062 (23000) at line 1: Duplicate entry '2147483647-fitness' for
key 'idx_table_phone_number_niche'
我不明白为什么 MySQL 认为我的插入与索引重复相关 returns。
我想如果你运行这个查询
SELECT * FROM CV_YP.table WHERE phone_number = '2147483647' AND niche = 'fitness';
你会发现不止 1 行,所以我认为它违反了唯一索引,所以当引擎尝试检查新数据的唯一性时,会触发此错误
更新
我觉得你的 phone 号码不对 1231231234
吧?
它是一个大于 2147483647
的数字并且您使用 phone_number 数据类型作为 int
如果是这样,我认为您需要更改 phone_number
列的数据类型,因为 int 的最大值是 2147483647
所以当您插入新数字时,引擎会将其视为最大值为 2147483647
并尝试插入它。
我正在尝试执行插入语句。我有一个独特的索引设置,结合了 phone_number 和 niche.
INSERT INTO CV_YP.table (phone_number,website,niche) VALUES (1231231234, 'website.com', 'fitness')
return 值表示我有一个重复条目,但 phone 数字与我刚尝试插入的数字不同。
ERROR 1062 (23000) at line 1: Duplicate entry '2147483647-fitness' for key 'idx_table_phone_number_niche'
我不明白为什么 MySQL 认为我的插入与索引重复相关 returns。
我想如果你运行这个查询
SELECT * FROM CV_YP.table WHERE phone_number = '2147483647' AND niche = 'fitness';
你会发现不止 1 行,所以我认为它违反了唯一索引,所以当引擎尝试检查新数据的唯一性时,会触发此错误
更新
我觉得你的 phone 号码不对 1231231234
吧?
它是一个大于 2147483647
的数字并且您使用 phone_number 数据类型作为 int
如果是这样,我认为您需要更改 phone_number
列的数据类型,因为 int 的最大值是 2147483647
所以当您插入新数字时,引擎会将其视为最大值为 2147483647
并尝试插入它。