在SQL Python中使用INSERT INTO时整数值发生变化



我正在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)

最新更新