我的主键是整数。 我收到错误#1062 - 下次插入时键'PRIMARY'的重复条目'4294967295'。
原因:显然达到了最大值。
有什么方法可以找到所有表的整数列已达到最大值或接近达到最大值以避免此类错误
答案 0 :(得分:0)
查询:
SELECT
id, IF(max(id)<4294967295, 'true', 'false') as insert_flag
FROM Table
注意:我在上面的查询中检查了max id的值是否小于 然后是Int Range( 4294967295 )。查询返回true和false insert_flag列。您可以在插入之前在代码中进行检查。
答案 1 :(得分:0)
如果您将id
视为某种AUTO_INCREMENT
字段,那么您可以使用show table status
获取所有表格的此信息(请使用help show table status
了解详情)。
e.g。
mysql> show table status \G
*************************** 1. row ***************************
Name: test_table
Engine: InnoDB
Version: 10
Row_format: Compact
Rows: 0
Avg_row_length: 0
Data_length: 16384
Max_data_length: 0
Index_length: 65536
Data_free: 0
Auto_increment: 2
Create_time: 2014-11-07 13:17:16
Update_time: NULL
Check_time: NULL
Collation: latin1_swedish_ci
Checksum: NULL
Create_options:
Comment:
1 row in set (0.00 sec)