我创建了一个MS SQL Server 2008 R2数据库,我使用外键创建了表之间的关系,我有(设备)表和(用户)表,关系是一对多(1 - )(一个设备可以拥有多个用户),但我想将其更改为多对一( - 1)(一个用户可以有多个设备)如何使用T-SQL或使用关系设计窗口?
此致
答案 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)
如果它是你想要的多对一(意味着一个用户很多设备但一个设备只有一个用户)那么你可以在设备表中添加一个参考用户表的列......
就像你为一对多的关系所做的一样...... 但还原这个