当前位置: 首页 > 知识库问答 >
问题:

如何在mysql中删除外键

纪秋月
2023-03-14

我正在使用mysql并试图删除外部约束,但我无法删除该密钥。

SHOW CREATE TABLE xxxx;

它的节目,

CREATE TABLE `xxxx` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `user_id` int(11) NOT NULL,
 `name` text NOT NULL,
 `article_title` text NOT NULL,
 `created_at` datetime NOT NULL,
 `last_modified_at` datetime NOT NULL,
 `latest_version` tinyint(4) NOT NULL,
 `status` tinyint(4) NOT NULL,
 `is_deleted` enum('0','1') NOT NULL,
 `deleted_time` datetime NOT NULL,
 `manual_authorgroup_data` text NOT NULL,
 PRIMARY KEY (`id`),
 KEY `user_id` (`user_id`),
 CONSTRAINT `fk_users_xxxx_user_id` FOREIGN KEY (`user_id`) REFERENCES `users` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=latin1

如何解决这个问题,请帮助我。

共有1个答案

狄彬彬
2023-03-14

试试这个,

ALTER TABLE `xxxx`
DROP FOREIGN KEY'fk_users_xxxx_user_id'
 类似资料:
  • (警告:我不是MySQL专业人士,我使用工作台代替知道命令,所以我的问题可能很简单) 我试图重命名表(user)中的主键(userID),但MySQL不允许(错误号150)。经过一番挖掘,我似乎必须先删除外键,然后才能重命名主键。 因此,在Workbench中,我转到下一个表(问题)并选择alter table,然后转到外键选项卡。我在左侧窗口中选择唯一的外键(fk\u question\u us

  • 问题内容: 我有一个表,该表的主键在其他几个表中使用,并且对其他表有几个外键。 问题是,当我尝试删除外键列之一(即locationIDX)时,它给了我一个错误。 “错误1025(HY000):重命名错误” 如何在没有出现此错误的情况下将列删除到上面的分配表中? 问题答案: 正如解释在这里,似乎外键约束必须由被丢弃 的约束名称 ,而不是索引名。语法为:

  • 问题内容: 我想将唯一键放到如何? 问题答案: 只需使用以下SQL脚本即可删除MySQL中的索引:

  • 给定使用以下方式创建的表: 如何删除列?

  • 我在表中添加了一列(下面的查询) 现在我想删除这个专栏(fk_job_id)。我尝试了这些查询,但它们给出了错误。 第一个Alter语句给出的错误为-(但该列存在)。 第二个Alter语句给出错误,因为-

  • 问题内容: 我刚刚编译了一个包含100万个地名的数据库。我将在自动完成的小部件中使用它来查找城市。这些地方很多都带有重音符号…我希望能够在用户键入不带重音符号的名称时查找记录。 为了做到这一点,我在第二栏中有一个名字的重音符号。这些记录中的许多记录仍然是空白的,因此我想编写一个查询来填充它们。在直接的MySQL中可能吗?如果是这样,怎么办? 问题答案: 如果您为该列设置了适当的排序规则,则该字段中