如何改变MS SQL 2008中的关系?

时间:2011-07-25 08:47:10

标签: sql sql-server

我创建了一个MS SQL Server 2008 R2数据库,我使用外键创建了表之间的关系,我有(设备)表和(用户)表,关系是一对多(1 - )(一个设备可以拥有多个用户),但我想将其更改为多对一( - 1)(一个用户可以有多个设备)如何使用T-SQL或使用关系设计窗口?
此致

2 个答案:

答案 0 :(得分:1)

1)删除用户表上的外键约束

ALTER TABLE User
DROP CONSTRAINT FK_User_Device;

2)从用户

中删除device_id列
ALTER TABLE users DROP COLUMN device_id;

3)将user_id列添加到设备

ALTER TABLE device ADD user_id YOURIDDATATYPE;

4)为设备中的user_id创建外键约束

ADD CONSTRAINT FK_UserID_Device FOREIGN KEY (user_id)
    REFERENCES User (id) ;

用您的数据类型替换列名称/数据类型。

答案 1 :(得分:0)

如果它是你想要的多对一(意味着一个用户很多设备但一个设备只有一个用户)那么你可以在设备表中添加一个参考用户表的列......

就像你为一对多的关系所做的一样...... 但还原这个