mysql sql mode小结
1 sql mode可以完成数据的教研,方便数据库迁移,而不需要进行大量修改
2 mysql 5中,默认的椒允许插入超过长度的值,但会给出警告,可以修改为strict_trans_tables,实现严格校验
3 select @@sql_mode; 查看当前模式;
4 设置set (global)session sql_mode='STRICT_TRANS_TABLES';
5 insert或update过程中,如果sql_mode处于traditional模式,则mod(x,0)发生错误,非严格模式下返回null;
6 启用no_backslash_esacpes模式,让反斜线成为普通字符,在导入数据时,如果数据中有反斜线,则可以启用这个
7 ansi模式更符合标准sql,
strict_trans_tables模式,不允许非法日期,超过字段长度,给出错误
traditional模式在事务表中,出现错误会回滚
8
如果mysql与其它异构数据库之间有数据移植的需求的话,那么下面的sql_mode的组合设置可以达到相应的效果:
数据库 Sql_mode值
DB2 PIPES_AS_CONCAT、ANSI_QUOTES、IGNORE_SPACE、NO_KEY_OPTIONS、NO_TABLE_OPTIONS、NO_FIELD_OPTIONS
MAXDB PIPES_AS_CONCAT、ANSI_QUOTES、IGNORE_SPACE、NO_KEY_OPTIONS、NO_TABLE_OPTIONS、NO_FIELD_OPTIONS、 NO_AUTO_CREATE_USER
MSSQL PIPES_AS_CONCAT、ANSI_QUOTES、IGNORE_SPACE、NO_KEY_OPTIONS、NO_TABLE_OPTIONS、 NO_FIELD_OPTIONS
ORACLE PIPES_AS_CONCAT、ANSI_QUOTES、IGNORE_SPACE、NO_KEY_OPTIONS、NO_TABLE_OPTIONS、NO_FIELD_OPTIONS、NO_AUTO_CREATE_USER
POSTGRESQL PIPES_AS_CONCAT、ANSI_QUOTES、IGNORE_SPACE、NO_KEY_OPTIONS、NO_TABLE_OPTIONS、NO_FIELD_OPTIONS
数据迁移过程中,可以设置为no_table_options模式
mysql中的sql mode
原创
©著作权归作者所有:来自51CTO博客作者mb5c80f4c73b73a的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
【MySQL】MySQL配置中sql_mode的作用
MySQL配置中sql_mode的作用不知道你有没有踫到过这种问题,在 MySQL8 默认的情况下,我们之前习惯的为 DateTime 类型指定
mysql sql android 数据库 MySQL -
mysql sql_mode
sql_mode模式 sql model
sql 数据 mysql