我知道有一种方法可以使用唯一的密钥来完成此结果,例如ID,但正如您在下面的案例中所见,这不会起作用,因为我没有一个唯一的密钥。
INSERT INTO User_Status (User_ID1, User_ID2, Status) VALUES(?, ?, ?) ON DUPLICATE KEY UPDATE Status = ?
问题是我在这个表格上没有唯一的ID,但目前有3个选项。 1)Twoo用户没有一个状态,换句话说:将其插入表格中。 2)用户1具有用户2的一个状态(1-2组合但是IS UNIQUE)。 3)与案例2相同,但转过身:用户2有一个用户1的状态(再次这个组合是独一无二的。)
如果已存在此选项,是否存在更新?
示例数据:
User_ID1 User_ID2 Status
1 4 has_send_request
4 1 has_received_request
4 2 friends
2 4 friends
我想说我想将用户1-4的状态从has_send_request更新为朋友。在这种情况下,我可以执行正常的UPDATE查询。但是,如果我想从用户2-4更新状态,我需要进行一次INSERT查询而不是一次UPDATE查询。