如果另一个表中的一个值与另一个值匹配,但该值本身不是键,您如何防止 MySQL 中的 INSERT 或 UPDATE?答案必须是 FOREIGN KEY 约束,但我不确定它如何与多列以及非键字段一起工作。
我自己的情况是这样的:
鉴于此表 USERDATA 具有以下值:
ID | USER_ID | UUID
1 29 aaa
2 29 bbb
3 30 ccc
并且此表与 INSERT 之后的这些值的关系,其中 userdata_uuid 引用 uuid,receiver_id 引用 user_id
ID | USERDATA_UUID | RECEIVER_ID
1 aaa 29
2 aaa 30
3 bbb 29
4 bbb 30
5 ccc 29
6 ccc 30
如何防止插入描述用户与其自己的用户数据有关系的插入?有了这些数据,在关系上插入后所需的结果将是:
ID | USERDATA_UUID | RECEIVER_ID
1 aaa 30
2 bbb 30
3 ccc 29
希望这是有道理的,谢谢。