💡
原文英文,约2600词,阅读约需10分钟。
📝
内容提要
MySQL 8.0.13引入了“sql_require_primary_key”函数,防止创建没有主键的表。该函数可在全局和会话级别进行配置,如果表已经存在且没有主键,则无法使用ALTER语句更改表结构。在源副本配置中,“REQUIRE_TABLE_PRIMARY_KEY_CHECK”参数影响“sql_require_primary_key”的行为。建议避免直接在副本上进行任何更改。该函数促进更好的数据库设计,使系统更高效。
🎯
关键要点
- MySQL 8.0.13引入了'sql_require_primary_key'函数,防止创建没有主键的表。
- 该函数可在全局和会话级别进行配置,默认情况下为关闭状态。
- 没有主键的表可能导致性能问题,尤其是在行级复制中。
- 启用'sql_require_primary_key'后,创建没有主键的表会失败。
- 对于已经存在的没有主键的表,INSERT、UPDATE和DELETE操作正常,但ALTER操作会失败。
- 在源副本配置中,'REQUIRE_TABLE_PRIMARY_KEY_CHECK'参数影响'sql_require_primary_key'的行为。
- 建议避免直接在副本上进行任何更改,以防止复制错误。
- 该函数促进更好的数据库设计,提高系统效率。
➡️