gpt4 book ai didi

mysql - 何时在 MySql 或 MariaDB 中使用严格模式

转载 作者:行者123 更新时间:2023-11-28 23:28:07 31 4
gpt4 key购买 nike

我可以找到大量关于严格模式在 MySql 和 MariaDB 中的作用的信息,但没有关于何时使用它的信息。这在一定程度上是常识,但我仍然希望有一些通用的指导方针。例如,也许你:

  • 始终使用严格模式
  • 从不使用严格模式
  • 始终对包含财务数据的表使用严格模式
  • 等等

最佳答案

首先,来自MySQL documentation :

Strict mode controls how MySQL handles invalid or missing values in data-change statements such as INSERT or UPDATE. A value can be invalid for several reasons. For example, it might have the wrong data type for the column, or it might be out of range. A value is missing when a new row to be inserted does not contain a value for a non-NULL column that has no explicit DEFAULT clause in its definition. (For a NULL column, NULL is inserted if the value is missing.) Strict mode also affects DDL statements such as CREATE TABLE.

因此,正如@rick-james 所说:始终使用严格模式。也就是说,直到您受够了它的限制。该模式可以帮助您,但可能会很痛苦。

严格模式也是default on MariaDB从 >10.2.3 开始。

  • 获取当前模式e: SHOW VARIABLES LIKE 'sql_mode';
  • 禁用:mysql> SET sql_mode = '';
  • 启用:mysql> SET sql_mode = 'STRICT_ALL_TABLES';(或STRICT_TRANS_TABLES)。

对于永久更改编辑 /etc/mysql/my.conf[mysqld] 部分,sql_mode= 变量。

关于mysql - 何时在 MySql 或 MariaDB 中使用严格模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38471018/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com