ERROR 167 (22003): Out of range value for column 'id' at row 1
# INT 的最大值
max_int_value = 4294967295
# 每秒记录数
records_per_second = 100
# 每年的秒数
records_per_year = 365 * 24 * 60 * 60
result = max_int_value/(records_per_second * records_per_year)
print(result)
# 结果:1.3619251950152207
BIGINT 类型的最大值:
无符号 BIGINT 类型的最大值为18,446,744,073,709,551,615。
# BIGINT 的最大值
max_bigint = 18446744073709551615
# 100年的秒数
seconds_in_100_years = 365*24*60*60*100
# 计算结果
result = max_bigint / seconds_in_100_years
print(result)
# 结果:5849424173.55072
-- 创建表
CREATE TABLE orders (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
order_data VARCHAR(255)
);
-- 查看表结构
DESCRIBE orders;
-- 修改自增列的数据类型
ALTER TABLE orders MODIFY id BIGINT UNSIGNED AUTO_INCREMENT;
-- 再次查看表结构,确认修改
DESCRIBE orders;
注意事项
-
备份数据:在进行表结构修改之前,最好备份数据,以防止操作过程中出现意外情况。 -
锁表:在修改表结构时,表可能会被锁定,导致短暂的写操作中断。尽量在业务低峰期进行操作。 -
外键约束:如果有外键约束涉及到要修改的列,需要先删除相关外键约束,修改列类型后再重新添加外键约束。
暂无回复。