掌握MySQL sql_mode设置:优化数据库操作与安全性
创始人
2024-12-29 03:08:58
0 次浏览
0 评论
Mode是怎样设置的
正确设置mysql的sql_mode。正确设置mysql的sql_mode是一个很容易被忽视的变量。
默认值为null通过这个设置,可能会允许一些非法操作,比如允许插入一些非法数据。
在生产环境中,这个值必须设置为严格模式,所以在开发和测试环境中也必须设置数据库,这样在开发和测试阶段可能会遇到问题。
sql_mode的常用值如下:Only_FULL_GROUP_BY:对于GROUPBY聚合操作,如果SELECT中的列没有出现在GROUPBY中,则这条SQL无效,因为该列不在GROUPBY子句中:该值影响列的插入具有自动增量。
默认情况下,输入0或NULL表示生成下一个自增值。
如果用户想要输入0值并且该列自动递增,则此选项非常有用。
STRICT_TRANS_TABLES:在此模式下,如果无法将值插入到事务表中,则中止当前操作,并且对非事务表没有限制NO_ZERO_IN_DATE:在严格模式下,日期和月份不能为零。
NO_ZERO_DATE:设置此值,mysql数据库不允许插入零日期,插入零日期将生成错误而不是警告。
ERROR_FOR_DIVISION_BY_ZERO:在INSERT或UPDATE过程中,如果数据除以零,则会生成错误而不是警告。
如果未提供模式,则当数据除以零时,MySQL将返回NULLNO_AUTO_CREATE_USER:阻止GRANT创建密码为空的用户NO_ENGINE_SUBSTITUTION:如果禁用或未编译所需的存储引擎,则抛出错误。
当未设置此值时,将使用默认存储引擎并抛出PIPES_AS_CONCAT异常:考虑“||”作为字符串连接运算符而不是OR运算符,这与Oracle数据库相同,也与.Concat字符串连接功能与ANSI_QUOTES类似:启用ANSI_QUOTES后,不能使用双引号将字符括起来。
解释为标识符的字符串ORACLEsql_mode设置相当于:PIPES_AS_CONCAT、ANSI_QUOTES、IGNORE_SPACE、NO_KEY_OPTIONS、NO_TABLE_OPTIONS、NO_FIELD_OPTIONS、NO_AUTO_CREATE_USER。
如果使用mysql,要延续使用Oracle的习惯,可以设置mysql的sql_mode如下:在my.cnf中添加如下配置[mysqld]sql_mode='ONLY_FULL_GROUP_BY,NO_AUTO_VALUE_ON_ZERO,STRICT_TRANS_TABLES、NO_ZERO_IN_DATE、NO_ZERO_DATE、ERROR_FOR_DIVISION_BY_ZERO、NO_AUTO_CREATE_USER、NO_ENGINE_SUBSTITUTION、PIPES_AS_CONCAT、ANSI_QUOTES'
使用SQL语句create创建一个表然后让某一列的值固定为空格可以实现吗应该怎么写
可以实现,
原理是创建表,默认值为空字符串
拜托!
相关文章
Java快速计算1到100求和:公式与循...
2024-12-16 13:53:01轻松掌握:使用cmd命令行备份MySQL...
2025-01-01 06:56:16MySQL备份恢复加速技巧与亿级数据复制...
2024-12-24 14:49:01SQL字符串截取技巧:使用INSTR与S...
2024-12-15 17:42:31MySQL字段默认值设置与优化技巧解析
2024-12-15 11:32:11SQL数据库连接故障排查与解决指南
2024-12-28 14:55:35C语言实现字符串大小写转换:ASCII码...
2024-12-30 14:32:45SQL Server 2008数据库服务...
2024-12-30 12:24:31MySQL UTF-8编码连接全攻略:详...
2024-12-28 02:59:56Redis缓存策略:数据过期与淘汰机制深...
2024-12-31 19:07:40最新文章
12
2025-01
12
2025-01
12
2025-01
12
2025-01
12
2025-01
12
2025-01
12
2025-01
12
2025-01
12
2025-01
12
2025-01
热门文章
1
Python代码实现:如何判断三角形的三...
python三角形三条边长,判断能否构成三角形Python三角形的三个长边如下:...
2
高效掌握:CMD命令轻松启动、关闭及登录...
如何用cmd命令快速启动和关闭mysql数据库服务开发中经常使用MySQL数据库...
3
SQL字段默认值设置全攻略:轻松实现自动...
sql如何设置字段默认值设置SQL中某个字段的默认值;需要遵循几个步骤。首先您需...
4
MySQL查询加速秘籍:PolarDB ...
mysql中in大量数据导致查询速度慢怎么优化?在MySQL中处理大量数据时,查...
5
SQL2000数据库备份压缩技巧:优化空...
怎么将SQL2000中的较大的备份数据库压缩变小更改数据库属性-选项-恢复模型很...
6
SQL字符串处理技巧:单引号使用与转义标...
SQL语句中,字符串类型的值均使用什么符号标明?单引号如果字符串内有单引号,请小...
7
Windows环境下Redis安装指南与...
redis安装windowsredis基本简介与安装安装Redis首先需要获取安...
8
深度解析:Redis性能优势与局限性,助...
redis有哪些优缺点?Redis的全称是RemoteDictionary.Se...
9
深入解析:MySQL数据库的特性与应用
mysql是什么MySQL是一个关系数据库管理系统。MySQL是一个开源关系数据...
10
SQL必备:详解常用字符串函数及数据类型...
sql常用的字符串函数都有哪些常用的字符串函数有:1.字符转换功能1.ASCII...