我正在尝试编写一个mysql语句,该语句无需使用主键即可插入表中。
我知道on duplicate key命令,但我不能在这里使用它,因为我正在检查两列不是主键的唯一性。我知道最好只生成这两个主键,但我不能,因为这是给出的模式。
架构如下所示:
tbl_order_detail
如果key_order,key_product对是唯一的,那么我会进行常规插入。 如果它们不是唯一的,那么我更新该行。
有什么建议吗?
答案 0 :(得分:1)
ON DUPLICATE KEY UPDATE
不仅适用于主键,还适用于任何唯一约束。
因此,只需为(key_order, key_product)
列创建复合唯一索引并使用它。