mysql查询可以处理的最大字符大小

时间:2014-08-22 12:04:57

标签: mysql

我正在尝试运行此查询,但没有检索到任何值,我试图找出返回值的字符长度。长度为76个字符。

有什么建议吗?

SELECT tokenid FROM tokeninfo where tokenNumber = 'tUyXl/Z2Kpua1AvIjcY5tMG+KlEhnt+V/YfnszF5m1+q8ngYvw%L3ZKrq2Kmtz5B8z7fH5BGQXTWAoqFNY8buAhTzjyLFUS64juuvVVzI7Af5UAVOj79JcjKgdNV4KncdcqaijPQAmy9fP1w9ITj7NA==%';

2 个答案:

答案 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.