我在MySQL上使用过这个查询:
insert into table_name (text_col) values (1919191919191919191919191...91919191)
该整数长度为174个字符。 text_col
的类型为“TEXT”。
我知道整数超过了一个限制,因为我得到一个65长999..9999而不是那个数字,但是我没有得到超出了的限制。
我已经阅读了here最大值,但我仍然没有得到它。
如果插入TEXT类型的列,会输出什么类型的整数?
谢谢,一如既往地
编辑:我知道将该整数作为带单引号的字符串插入。
答案 0 :(得分:2)
你的长号(没有引号)被转换为十进制。由于参数超过了该类型的容量(即65个字符),因此可以使用最接近的值(全部为9)。
您的插入内容可能已收到警告。 Show warnings
应该解释发生了什么。
答案 1 :(得分:1)
回答你的问题:
你是第一次告诉编译器创建一个这样的大小,但实际上并不是这样。这是数字大小的编译器限制
可选的解决方法:
将它作为一个字符串传递给你,你应该好好去。