>데이터 베이스 >MySQL 튜토리얼 >mysql 5.6中关于STRICT_TRANS_TABLES的议论

mysql 5.6中关于STRICT_TRANS_TABLES的议论

WBOY
WBOY원래의
2016-06-07 16:23:451199검색

mysql 5.6中关于STRICT_TRANS_TABLES的讨论 在mysqlteam的成员Morgan Tocker的博文http://www.tocker.ca/2014/01/14/making-strict-sql_mode-the-default.html中,提到了mysql 5.6中默认用的是严格模式了,就是在my.cnf中 sql_mode=NO_ENGINE_SUBSTITUTION,ST

mysql 5.6中关于STRICT_TRANS_TABLES的讨论
  在mysqlteam的成员Morgan Tocker的博文http://www.tocker.ca/2014/01/14/making-strict-sql_mode-the-default.html中,提到了mysql 5.6中默认用的是严格模式了,就是在my.cnf中


sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

其中:
  STRICT_ALL_TABLES - Behave more like the SQL standard and produce errors when data is out of range.
STRICT_TRANS_TABLES - Behave more like the SQL standard and produce errors when data is out of range, but only on transactional storage engines like InnoDB.

  由于mysql 5.6默认用innodb ,所以用STRICT_TRANS_TABLES也容易理解。用了这个选项的话,
那么数据库中如果是非空值的话就得设置默认值了,否则是报错的
  此外,在http://www.tocker.ca/2013/11/01/proposal-to-simplify-sql-modes.html中还提到要去掉多余的sql_mode,比如:
   ERROR_FOR_DIVISION_BY_ZERO, NO_ZERO_DATE and NO_ZERO_IN_DATE.
  不过这好像还在讨论阶段
 
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.