我正在使用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)知道这是怎么回事吗?我希望我的表存储我的整数,即使它很大。
发布于 2021-10-18 22:19:49
INTEGER(255)并不是你想的那样。
整数的最大值是2147483647 (有符号)或4294967295 (无符号)。
有关What is the size of column of int(11) in mysql in bytes?的更多详细信息,请参阅此答案
发布于 2021-10-19 02:18:22
要存储最多65位的数字,可以使用decimal类型。例如,对于25位的整数,使用decimal(25,0)
https://stackoverflow.com/questions/69623119
复制相似问题