数据库
首页 > 数据库> > MYSQL 5.5删除主键

MYSQL 5.5删除主键

作者:互联网

我正在将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 – Error on rename of ‘.\quartz_local#sql-df8_9’ to ‘.\quartz_local\BLOB_TRIGGERS’ (errno: 150)

> ALTER TABLE BLOB_TRIGGERS DROP INDEX’PRIMARY’;

[Err] 1064 – You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ”PRIMARY” at line 1

> ALTER TABLE BLOB_TRIGGERS DROP INDEX PRIMARY;

[Err] 1025 – Error on rename of ‘.\quartz_local#sql-df8_9’ to ‘.\quartz_local\BLOB_TRIGGERS’ (errno: 150)

> ALTER TABLE BLOB_TRIGGERS DROP PRIMARY KEY;

[Err] 1025 – Error on rename of ‘.\quartz_local#sql-df8_9’ to ‘.\quartz_local\BLOB_TRIGGERS’ (errno: 150)

我的Mysql版本是5.5.16

编辑:检查索引:

EDIT2:请求外键:

解决方法:

(错误:150)是赠品:这意味着外键定义问题.我怀疑某些其他表具有依赖于此PK的外键约束,因此您需要先删除它并稍后重建它.

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

从BLOBS_TRIGGERS到TRIGGERS的FK由PK组成.因此,如果你放弃PK,那么约束就会变得陈旧.您需要删除并稍后重新创建约束.

标签:quartz-net,alter,sql,mysql
来源: https://codeday.me/bug/20190902/1791241.html