Error number: 4155; Symbol: ER_REQUIRE_TABLE_PRIMARY_KEY_CHECK_GENERATE_WITH_GR; SQLSTATE: HY000
Message: On a Group Replication channel, setting REQUIRE_TABLE_PRIMARY_KEY_CHECK to ‘GENERATE’ is not allowed.
错误说明:
ER_REQUIRE_TABLE_PRIMARY_KEY_CHECK_GENERATE_WITH_GR 错误代码(Error number)4155,SQLSTATE: HY000,是MySQL服务器出现的一个错误,表示需要目标表有一个满足约束条件的主键,并且会正确地建立可以生成关键字外键约束的信息。
这种错误一般是由在使用ALTER TABLE指令重新设置表结构时出现。比如,试图将某字段设置为主键,但是该字段实际上并未满足主键的唯一性要求,或者是在进行外键约束时,由于没有正确确定主键,无法形成约束条件。
解决方法:
(1)确认目标表的主键已经被设置:可以在表的结构中观察到相应的`PRIMARY KEY`。
(2)确认主键满足唯一性:如果表中的数据已经有重复,则可以使用`ALTER TABLE`构件进行删除,并添加`UNIQUE KEY`作为保证主键唯一性的约束条件。
(3)检查建立外键约束时是否正确:在建立外键约束时,应注意引用的主表已经形成主键,以及当前表[被引用表]的外键字段是否满足唯一性,以及同时引用的是否是同一个主表的主键。