2016-12-08 30 views
0

我创建了两个表,它们是1到1. 因此一个表具有另一个表的外键。删除一对一关系表

如何删除表格?在创建表格时,我没有使用删除级联。

所以我要么必须以某种方式改变它,或者IDK ..

我已经做到了这一点。

CREATE TABLE hotel(
id_hotel 
... 

) 

CREATE TABLE Manager(
ID_Manager 
... 
id_hotel FOREIGN KEY ... 
) 

,然后我加入

ALTER TABLE Hotel ADD id_manager INT NOT NULL; 
ALTER TABLE Hotel ADD FOREIGN KEY (id_manager) REFERENCES Manager(id_manager); 
+0

你能你的架构添加到您的问题吗?这可能会帮助人们给你很好的答案。 – Narfanator

回答

0

首先必须与列的外键,如删除表:如果你有2个实体的一个名为driving_license和其他人,和你从人的ID存储在表driving_license,你必须先删除该表driving_license

或者,如果你正在使用MySQL:你可以写:

SET_FOREIGN_KEY_CHECKS=0; 

//Drop however you want 

SET_FOREIGN_KEY_CHECKS=1 

对于MSSQL你可以使用:

ALTER TABLE <yourtablename> NOCHECK CONSTRAINT ALL 

,然后放到你的餐桌

+0

不,我有两个实体,例如driving_license和person。我存储了id人到driving_license和id driving_license到人 –

+0

这是为2个实体... – DZDomi

+0

不,我想你不理解我。我创建了一个entityHotel,然后我创建了实体管理器。经理有外键id_hotel。然后我将id_manager添加到Hotel作为外键 –