0
嗨當我連接表我已經使用創建以下文件:避免重複數據庫中插入新行
CREATE TABLE user_group_join (
user_group_join_id int(11) PRIMARY KEY NOT NULL AUTO_INCREMENT,
user_join_id int(11) NOT NULL,
group_join_id int(11) NOT NULL,
FOREIGN KEY (user_join_id) REFERENCES users (user_id),
FOREIGN KEY (group_join_id) REFERENCES user_group (group_id)
);
然後我有另一個表:
CREATE TABLE user_flat(
user_flat_id int(11) PRIMARY KEY NOT NULL AUTO_INCREMENT,
user_flat_user_id INT(11) NOT NULL,
user_flat_group_id INT(11) NOT NULL,
user_flat_location varchar(250) NOT NULL,
FOREIGN KEY (user_flat_user_id) REFERENCES users (user_id),
FOREIGN KEY (user_flat_group_id) REFERENCES user_group (group_id)
);
的user_join_group是管理用戶權限,現在每次我更新某個特定用戶的單位時,我還需要使用一些唯一值更新user_group_join表,例如,如果我具有以下值:
user_join_id | group_join_id
75 | 12
75 | 13
75 | 14
如果我要值12 group_join_id改爲13我應該只:
user_join_id | group_join_id
75 | 13
75 | 14
我試圖刪除的行,然後插入一個新的,但問題是:
如果我的用戶身份證號碼爲75,例如在組13中有兩個單位,在組14中有一個單位,如果我更改了兩個類似單位中值爲12的組中的一個,數據庫值將爲:
user_join_id | group_join_id
75 | 12
75 | 14
當我真正想有回:
user_join_id | group_join_id
75 | 12
75 | 13
75 | 14
我希望是不是混亂,有人能幫助我。非常感謝