始终获取<errno:150“FOREIGN KEY CONSTRAINT IS NORTRIGURE Format”>使用外键创建新表

时间:2020-09-29 作者:icolumbro

我使用以下SQL查询在WordPress数据库中创建一个表:

CREATE TABLE IF NOT EXISTS wp_ccwwhsh_sent_messages(
    `id` INT NOT NULL AUTO_INCREMENT,
    `timestamp` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
    `recipient_id` BIGINT NOT NULL,
    `phone` VARCHAR(15) NOT NULL,
    `content` TEXT NOT NULL,
    `sending_confirm` DATETIME NULL,
    PRIMARY KEY(`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
这是可行的。如果尝试创建链接到第一个表格的新表格,请使用:

CREATE TABLE IF NOT EXISTS wp_ccwwhsh_replies_to_messages(
    `id` INT NOT NULL AUTO_INCREMENT,
    `timestamp` DATETIME NOT NULL,
    `message_id` BIGINT NOT NULL,
    `content` TEXT NOT NULL,
    PRIMARY KEY(`id`),
    FOREIGN KEY(`message_id`) REFERENCES wp_ccwwhsh_sent_messages(`id`) ON DELETE CASCADE
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
我得到错误#1005 - Impossible to create the table wordpress-dev.wp_ccwwhsh_replies_to_messages (errno: 150 "Foreign key constraint is incorrectly formed"), 怎么了?

1 个回复
最合适的回答,由SO网友:Jos 整理而成

你的message_id 是BIGINT,而id 属于wp_ccwwhsh_sent_messages 是INT。请用INT替换BIGINT,然后重试。

不幸的是,错误消息没有太大帮助。

相关推荐

WP_QUERY将数字排序为字母

我在使用ACF插件创建的用户配置文件中有一些meta\\u字段。我正在尝试运行查询以获取具有以下条件的用户:用户必须具有meta\\u字段jogador_profissional == true</用户列表必须按meta\\u字段排序quantidade_corretas (ASC) 以及tempo_total (DESC). 两者都是数值</这是我的问题: $args = array( "fields" => &qu