我正在Python中使用mysql.connector
创建一个表。当我在表中插入一个整数值时,SQL将其转换为其他整数值。下面是我的代码:
cursor.execute("CREATE TABLE cleaned_data (myid VARCHAR(255), mynum INTEGER(255))")
cursor.execute("INSERT INTO cleaned_data(myid, mynum) VALUES(%s,%s)", ('mytext',25683838382092010098988))
rows = cursor.execute('select * from cleaned_data;')
for row in cursor:
print(row)
下面是打印行的输出:
('mytext', 2147483647)
知道是怎么回事吗?我希望我的表存储我的整数,即使它是巨大的。
INTEGER(255)
不是你想的那样。
整数的最大值为2147483647(有符号)或4294967295(无符号)。
mysql中int(11)的列的大小是多少?要存储最多65位的数字,可以使用十进制类型。例如,对于25位的整数,使用decimal(25,0)