gpt4 book ai didi

mysql - ejabberd 在 MySQL 上创建的假脱机表没有 PK。这是一个错误还是一个功能?

转载 作者:行者123 更新时间:2023-11-29 14:38:54 32 4
gpt4 key购买 nike

这是一个错误(我可以手动为其创建 PK),还是一个功能?

最佳答案

我查看了 ejabberd 2.1.x 分支中的当前 mysql.sql,以了解更多上下文 https://github.com/processone/ejabberd/blob/2.1.x/src/odbc/mysql.sql

    CREATE TABLE spool (
username varchar(250) NOT NULL,
xml text NOT NULL,
seq BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE,
created_at timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
) CHARACTER SET utf8;

看起来“seq”列是一个唯一标识符,可以像主键一样使用它,只是不能对其进行外键引用。我认为这并不重要,因为在 ejabberd 中从来没有需要通过外键约束的方式通过另一个 mysql 表中的序列号引用特定离线消息的时候。

我确信 processone 的某个人对此有意见,这导致了唯一约束而不是主键。在广泛使用 mod_offline_odbc 后,我可以向您保证,如果您将“primary_key(seq)”添加到假脱机表定义中并删除 seq 列上的冗余唯一约束,这不会对 ejabberd 产生任何影响。

关于mysql - ejabberd 在 MySQL 上创建的假脱机表没有 PK。这是一个错误还是一个功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8391065/

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