
mysql中表字段名的最大允许长度64个字节,如果都是英文字母或数字,那么字段名最长可以是64个字符,如果使用中文那么每个中文字将占用两个字节。
例如下面两个字串(刚好64个字节)作为列名不会出错
`a111111111122222222223333333333444444444455555555556666666666123`,
`a11111111112222222222333333333344444444445555555555666666666612中`
而下面两个字串作为列名就会报错,因为长度刚好超出64个字节
`a1111111111222222222233333333334444444444555555555566666666661234`,
`a111111111122222222223333333333444444444455555555556666666666123中`
有关MySQL标识符最大长度请参阅下表
1、MySQL默认情况下是否区分大小写,使用show Variables like '%table_names'查看lower_case_table_names的值,0代表区分,1代表不区分。2、mysql对于类型为varchar数据默认不区分大小写,但如果该字段以“*_bin”编码的话会使mysql对其区分大小写。
3、mysql对于字段名的策略与varchar类型数据相同。即:默认不区分大小写,但如果该字段是以“*_bin”编码的话会使mysql对其区分大小写。
4、mysql对于表名的策略与varchar类型数据相同。即:默认不区分大小写,但如果该表是以“*_bin”编码的话会使mysql对其区分大小写。
5、如果按照第一项查看lower_case_table_names的值为0,但需要让mysql默认不区分大小写的话,需要在mysql配置文件中添加参数并重启mysql数据库。mysql配置文件的修改内容如下:
[mysqld]
...
lower_case_table_names = 1
6、注意:表和字段的编码尽量继承数据库的编码(不明显指定即继承),以免引起混乱。
LINUX下的MYSQL默认是要区分表名大小写的 ,而在windows下表名不区分大小写
让MYSQL不区分表名大小写的方法其实很简单:
1.用ROOT登录,修改/etc/my.cnf
2.在[mysqld]下加入一行:lower_case_table_names=1
3.重新启动数据库即可
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)