当前位置: 首页 > 面试题库 >

MYSQL 5.5删除主键

苏野
2023-03-14
问题内容

我将quartz.net版本从1.0.3升级到2.0.2。有一个用于数据库模式的迁移脚本,该脚本是为MSSQL编写的,并且我正在尝试为其编写MYSQL版本。

但是,我无法删除主键(需要这样做)。

MSSQL的原始脚本版本:

ALTER TABLE BLOB_TRIGGERS DROP CONSTRAINT BLOB_TRIGGERS_PKEY;
ALTER TABLE BLOB_TRIGGERS DROP CONSTRAINT BLOB_TRIGGERS_TRIGGER_NAME_FKEY;
ALTER TABLE SIMPLE_TRIGGERS DROP CONSTRAINT PK_SIMPLE_TRIGGERS;
ALTER TABLE SIMPLE_TRIGGERS DROP CONSTRAINT FK_SIMPLE_TRIGGERS_TRIGGERS;
ALTER TABLE CRON_TRIGGERS DROP CONSTRAINT PK_CRON_TRIGGERS;
ALTER TABLE CRON_TRIGGERS DROP CONSTRAINT FK_CRON_TRIGGERS_TRIGGERS;
ALTER TABLE TRIGGERS DROP CONSTRAINT PK_TRIGGERS;
ALTER TABLE TRIGGERS DROP CONSTRAINT FK_TRIGGERS_JOB_DETAILS;
ALTER TABLE JOB_DETAILS DROP CONSTRAINT PK_JOB_DETAILS;

为了简单起见,我正在尝试第一个声明

ALTER TABLE BLOB_TRIGGERS DROP CONSTRAINT BLOB_TRIGGERS_PKEY;

这是我尝试过的结果:

  • ALTER TABLE BLOB_TRIGGERS DROP PRIMARY KEY;

[Err] 1025-将“。\ quartz_local#sql-df8_9”重命名为“。\ quartz_local \
BLOB_TRIGGERS”时出错(错误号:150)

  • ALTER TABLE BLOB_TRIGGERS DROP INDEX’PRIMARY’;

[Err] 1064-您的SQL语法有误;检查与您的MySQL服务器版本相对应的手册,以在第1行的“ PRIMARY”附近使用正确的语法

  • 修改表BLOB_TRIGGERS DROP INDEX PRIMARY;

[Err] 1025-将“。\ quartz_local#sql-df8_9”重命名为“。\ quartz_local \
BLOB_TRIGGERS”时出错(错误号:150)

  • 更改表BLOB_TRIGGERS删除主键;

[Err] 1025-将“。\ quartz_local#sql-df8_9”重命名为“。\ quartz_local \
BLOB_TRIGGERS”时出错(错误号:150)

我的Mysql版本是5.5.16


问题答案:

(errno: 150)是赠品:这意味着外键定义问题。我怀疑其他表具有依赖于此PK的外键约束,因此您需要先删除该表,然后再重建它。

编辑: 使用您发布的图像,这变得更加清晰:

从BLOBS_TRIGGERS到TRIGGERS的FK由PK组成。因此,如果您放弃PK,则约束将变得陈旧。您需要删除并稍后重新创建约束。



 类似资料:
  • 问题内容: 我有以下表模式,它将user_customers映射到实时MySQL数据库的权限: 我想删除user_customer_id和Permission_id的主键,并保留id的主键。 当我运行命令时: 我收到以下错误: 如何删除列的主键? 问题答案: 如果没有索引,则维护自动增量列会变得太昂贵,这就是为什么要求将自动增量列作为索引的最左侧部分的原因。 您应该在删除键之前删除autoincr

  • 我有几个Kafka的题目作为测试。现在我想通过清理我的Kafka主题列表来把它们全部除掉。我设置了变量,然后停止并重新启动zookeeper和kafka服务器。但什么也帮不了我。主题仍然存在,“标记为删除”。我读了这个问题,但没有找到任何答案。否则,这里建议手动移除任何主题。但我该怎么做呢?在故事的结尾,手动或通过命令行,我如何永久删除Kafka主题?

  • 我有两个表,一个有复合主键,另一个有外键。它们都设置为删除时级联。问题是,当我从主表中删除一个复合键集“name:John date:02.02.2018”时,所有John行都会从带有外键的表中删除,但是可以有一个集合“name:John date:04.04.2018”以及日期为02.02的所有行。也删除了一些行,如何才能使其删除仅匹配外键集的行? 更新:

  • 本文向大家介绍MySQL ALTER列删除主键和auto_increment?,包括了MySQL ALTER列删除主键和auto_increment?的使用技巧和注意事项,需要的朋友参考一下 您可以使用ALTER命令删除主键和auto_increment。语法如下- 为了理解上述语法,让我们创建一个表。创建表的查询如下- 使用DESC命令检查表的描述。语法如下- 使用DESC检查表'removeP

  • 但是,这将导致以下消息: 如何删除此主题?

  • 为了删除主题中的所有数据,我将主题的retention.ms配置设置为1000。 这很管用。经过很短的等待,所有的数据都被删除了。 我知道kafka-topics.sh的delete选项实际上会删除整个主题,所以我不打算玩这个。 问题:如何完全删除主题级配置,使主题恢复到使用服务器默认值?