我正在尝试运行此查询,但没有检索到任何值,我试图找出返回值的字符长度。长度为76个字符。
有什么建议吗?
SELECT tokenid FROM tokeninfo where tokenNumber = 'tUyXl/Z2Kpua1AvIjcY5tMG+KlEhnt+V/YfnszF5m1+q8ngYvw%L3ZKrq2Kmtz5B8z7fH5BGQXTWAoqFNY8buAhTzjyLFUS64juuvVVzI7Af5UAVOj79JcjKgdNV4KncdcqaijPQAmy9fP1w9ITj7NA==%';
答案 0 :(得分:0)
问题不在于您选择的字符的长度,而在于数据库字段本身中存储的字符。检查数据库架构中的tokenNumber
字段 - 如果它是varchar
,或blob
或任何类型,长度等等......
你可以在任何数据库中insert/select
超过76个字符,但是你可以减少76个字符,因为在你的情况下,它取决于你如何处理它们存储的字段。
查看tokeninfo
表属性的快速方法是运行此查询:
SHOW COLUMNS FROM tokeninfo;
如果数据类型与您希望它们基于CREATE TABLE
语句的数据类型不同,请注意MySQL 有时会在您创建或更改表时更改数据类型。发生这种情况的条件在第13.1.10.3节Silent Column Specification Changes中描述。
答案 1 :(得分:0)
the max size would be limited by the variable max_allowed_packet
so, if you do a
show variables like 'max_allowed_packet'
it will show you the limit. By default, it is set to
1047552 bytes.
If you want to increase that, add a line to the server's
my.cnf file, in the [mysqld] section :
set-variable = max_allowed_packet=2M
and restart mysql server.