【发布时间】:2015-06-16 06:04:43
【问题描述】:
我有一个数据库,我使用了这些命令:
CREATE TABLE APPOINTMENT (app_id INT(5) NOT NULL, app_doctor INT(5) NOT NULL, app_date DATE, PRIMARY KEY (app_id));
CREATE TABLE APPPATIENTS (patient_ssn INT(10) NOT NULL, patient_name VARCHAR(20) NOT NULL, sex CHAR(1) NOT NULL, appointment_id INT(5), PRIMARY KEY (patient_ssn), UNIQUE (appointment_id));
ALTER TABLE APPPATIENTS ADD FOREIGN KEY (appointment_id) REFERENCES APPOINTMENT(app_id) ON DELETE CASCADE;
现在,我想删除 appPatients 表中的外键约会 ID:
ALTER TABLE apppatients DROP FOREIGN KEY appointment_id;
但是我遇到了一个错误:
Can't drop 'appointment_id'; check that column/key exists.
它就在那里!它怎么能给出那个错误?我究竟做错了什么?
【问题讨论】:
-
执行此操作 - 'SHOW KEYS IN apppatients' 并观察结果 - 可能是您过去删除了此外键。
-
@degr 我照你说的做了,但我的外键还在。
-
这个外键的名字是'appointment_id'吗?
-
还有这个 - alter table apppatients drop constraintointment_id
-
@degr 外键名称是约会ID,我尝试了你说的其他命令,但出现语法错误。
标签: mysql