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
我希望是不是混乱,有人能帮助我。非常感谢