gpt4 book ai didi

MySQL : error 1217 on DROP TABLE. 外键引用其自己的主键。 ON DELETE CASCADE 已开启

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

我正在尝试这个查询

如果存在核心则删除表;

在使用此查询创建的表上

CREATE TABLE Core (
id serial PRIMARY KEY,

title varchar(512),
kind ENUM('User', 'Organisation', 'Channel', 'Collection', 'Text', 'Picture', 'Sound', 'Video', 'UserGroup'),
is_activated BOOLEAN DEFAULT true,
date_created DATETIME DEFAULT CURRENT_TIMESTAMP,
date_updated DATETIME,
date_augmented DATETIME,

author_core BIGINT UNSIGNED NOT NULL,
FOREIGN KEY (author_core) REFERENCES Core(id) ON DELETE CASCADE
)

但我收到错误#1217 - 外键约束失败

我知道禁用外键检查的肮脏解决方法SETforeign_key_checks = 0;但我仍然想知道为什么字段author_coreON DELETE CASCADE没有完成其工作。

最佳答案

看起来还有另一个表引用了Core表。您可以通过以下查询获取其他表的所有引用键:

SELECT TABLE_NAME, COLUMN_NAME, CONSTRAINT_NAME
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE REFERENCED_TABLE_NAME = 'Core' AND TABLE_NAME <> 'Core'

demo on dbfiddle.uk

DROP TABLE之前,您必须先删除这些找到的约束。

关于MySQL : error 1217 on DROP TABLE. 外键引用其自己的主键。 ON DELETE CASCADE 已开启,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58991183/

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