What is the maximum range of varchar in MySQL?

2019-02-09 10:32发布

问题:

What is the maximum range of varchar in MySQL?

I am using the latest version of MySQL and in many sites it is being told that the size is 255. But when i am trying to give a higher size like 500 or 1000, it works for me. So is there a maximum number for varchar datatype?

回答1:

It was 255 before 5.0.3, but now:

Values in VARCHAR columns are variable-length strings. The length can be specified as a value from 0 to 65,535.

The documentation of 5.0.x shows the transition:

Values in VARCHAR columns are variable-length strings. The length can be specified as a value from 0 to 255 before MySQL 5.0.3, and 0 to 65,535 in 5.0.3 and later versions.



回答2:

The effective maximum length of a VARCHAR is subject to the maximum row size (65,535 bytes, which is shared among all columns) and the character set used.

see http://dev.mysql.com/doc/refman/5.1/en/char.html



回答3:

From the specs

Values in VARCHAR columns are variable-length strings. The length can be specified as a value from 0 to 65,535. The effective maximum length of a VARCHAR is subject to the maximum row size (65,535 bytes, which is shared among all columns) and the character set used.