MySQL / MariaDB 严格模式

MySQL / MariaDB Strict Mode

我正在使用 MySQL 作为数据库开发一些代码,其中包含各种索引。我在严格模式下 MySQL 运行。

作为实验,我切换到 MariaDB(也是在严格模式下),发现许多索引失败是因为它们太长(超过 767 字节)。如果我在 MariaDB 中删除严格模式,索引 似乎 被创建。

我的问题是:这些索引是否确实被创建了,即使它们显然太大了?

如果不是,我该如何处理索引 VARCHAR 字符串?

在 MYSQL 中,创建索引后,您可以在同一连接中看到使用 SHOW WARNINGS 的消息。

当您使用任何标记或前端开发语言将不完整的值从前端设计传递到数据库时,严格模式就会发挥作用。

如果您使用的是 Wamp 或 Xamp 等本地服务器,则只需转到 localhost/phpmyadmin

只需登录您的数据库系统,然后转到顶部导航栏中的 "variables"。

只需在那里搜索 "SQL Mode" 因为有很多变量所以你需要搜索或者你可以在那里遍历 "SQL Mode"。

现在搜索后,您会发现一行名称为 SQL mode,并且在其左侧有“编辑”按钮。点击 "Edit"。它会简单地打开 MariaDB 或 Mysql 默认情况下处于严格模式的变量行,无论它是什么。

只需从此行中删除关键字 "Strict",然后再次转到“编辑”按钮,您可以在其中看到 "Save" 按钮。

现在,严格模式已从您的数据库服务器中移除。