【发布时间】:2016-07-24 22:35:52
【问题描述】:
显示创建表用户; 我会得到这个结果。
CREATE TABLE `USERS` (
`UR_ID` bigint(20) NOT NULL,
`DEPT_ID` bigint(20) DEFAULT NULL,
`DN_ID` bigint(20) NOT NULL,
`CREATED_BY` varchar(45) NOT NULL,
`LAST_UPDATED_BY` varchar(45) NOT NULL,
`LAST_UPDATED_DT` datetime NOT NULL,
`UR_LOGIN_NAME` varchar(255) NOT NULL,
`TRANS_ID` bigint(20) DEFAULT NULL,
PRIMARY KEY (`UR_ID`),
UNIQUE KEY `Uk11` (`UR_LOGIN_NAME`),
KEY `SYS_C0018877` (`UR_ID`),
KEY `SYS_C0018878` (`DEPT_ID`),
KEY `SYS_C0018879` (`DN_ID`),
**KEY `SYS_C0018880` (`CREATED_BY`),**
KEY `SYS_C0018881` (`LAST_UPDATED_BY`),
KEY `SYS_C0018882` (`LAST_UPDATED_DT`),
KEY `SYS_C0018883` (`UR_LOGIN_NAME`),
CONSTRAINT `fk_USERS_2` FOREIGN KEY (`DN_ID`) REFERENCES `DESIGNATION` (`DN_ID`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
现在我想删除外键 CREATED_BY 并运行 ALTER TABLE USERS 删除外键 SYS_C0018880; 错误 1025 (HY000):将“./dbname/USERS”重命名为“./dbname/#sql2-3ea-2c”时出错(错误号:152)
我也用过
ALTER TABLE USERS DROP FOREIGN KEY CREATED_BY;
但我又遇到了同样的错误
将“./dbname/USERS”重命名为“./dbname/#sql2-3ea-2c”时出错(错误号:152)
请任何人分享我如何删除此外键,如果可能,请分享 KEY SYS_C0018880 (CREATED_BY) 是什么。我知道这个键是外键,因为在 desc table_name 上我得到了这个结果;
| DN_ID |大整数(20) |否 |穆尔 |空 | | |创建_BY | varchar(45) |否 |穆尔 |空 | | | LAST_UPDATED_BY | varchar(45) |否 |穆尔 |空 | | | LAST_UPDATED_DT |日期时间 |否 |穆尔 |空 |
【问题讨论】:
标签: mysql sql database foreign-keys mariadb