1.区别
1.Windows下MySQL带小写不敏感
- 原因:存放代码的时候都以小写存放
2.Linux下MySQL大小写敏感
规则
- 数据库名、表明、表的别名、变量名严格区分大小写
- 关键字、函数名称、列名不区分大小写
2.Linux设置大小写规则
不建议修改大小写规则
3.SQL编写建议
- 关键字和函数名称全部大写
- 数据库名、表名、表别名、字段名、字段别名全部小写
- SQL语句必须以分号结尾
sql_mode的合理设置
1.介绍
- 影响语法的准确性,即使错误的语法有时候也能成功
2.模式
1.宽松模式
- 插入数据时即使是错误的数据也可能会被接受
2.严格模式
- 有错误即报错
3.修改
1.临时设置方式
设置当前窗口sql_mode为严格
执行:
- set global sql_mode = ‘modes…’; #全局
- set session sql_mode = ‘modes…’; #当前会话
设置为宽松
- set global sql_mode = ‘’; #全局
- set session sql_mode = ‘’; #当前会话
2.永久设置方式(设置为严格)
1.在my.cnf中增加:
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
2.重启mysql