Mysql 如果存在,那么其他

Mysql 如果存在,那么其他,mysql,if-statement,insert,exists,Mysql,If Statement,Insert,Exists,这很直截了当,但我找不到答案。如果组合确实存在,则更新,否则插入 如果存在,请从付款条件中选择客户id,其中客户id=2,发货公司id=1 然后 更新付款条件设置付款条件=全额付款,其中客户id=2,发货公司id=1; 其他的 在付款条件中插入客户id、发货公司id、付款条件、活动值2,1、某些值1; 如果结束 如果您在发货公司id、客户id上有唯一的密钥,您可以使用: INSERT INTO payment_conditions SET customer_id = 2, shipping

这很直截了当,但我找不到答案。如果组合确实存在,则更新,否则插入

如果存在,请从付款条件中选择客户id,其中客户id=2,发货公司id=1 然后 更新付款条件设置付款条件=全额付款,其中客户id=2,发货公司id=1; 其他的 在付款条件中插入客户id、发货公司id、付款条件、活动值2,1、某些值1; 如果结束
如果您在发货公司id、客户id上有唯一的密钥,您可以使用:

INSERT INTO payment_conditions 
SET customer_id = 2,
  shipping_company_id = 1,
  payment_condition = 'some value',
  active = 1
ON DUPLICATE KEY UPDATE payment_condition = 'pay in full'

如果您在发货公司id、客户id上有唯一的密钥,您可以使用:

INSERT INTO payment_conditions 
SET customer_id = 2,
  shipping_company_id = 1,
  payment_condition = 'some value',
  active = 1
ON DUPLICATE KEY UPDATE payment_condition = 'pay in full'
您应该将customer\u id和shipping\u company\u id设置为外键,以便使用

INSERT INTO payment_conditions
    customer_id, shipping_company_id, payment_condition, active
VALUES (2, 1, "some value", 1)
ON DUPLICATE KEY UPDATE payment_condition = "pay in full"
您应该将customer\u id和shipping\u company\u id设置为外键,以便使用

INSERT INTO payment_conditions
    customer_id, shipping_company_id, payment_condition, active
VALUES (2, 1, "some value", 1)
ON DUPLICATE KEY UPDATE payment_condition = "pay in full"

或者先用UPDATE发出两个N.B.语句,然后去掉条件逻辑。如果行不存在,更新将无效。如果您的密钥与客户id+运输公司的密钥不一致,则此选项应该有效

UPDATE payment_conditions SET payment_condition = "pay in full" 
WHERE customer_id = 2  AND shipping_company_id = 1;
然后


或者先用UPDATE发出两个N.B.语句,然后去掉条件逻辑。如果行不存在,更新将无效。如果您的密钥与客户id+运输公司的密钥不一致,则此选项应该有效

UPDATE payment_conditions SET payment_condition = "pay in full" 
WHERE customer_id = 2  AND shipping_company_id = 1;
然后


在SQL Server中使用merge语句-看起来这些答案暗示了MySQL语法。您不需要说明数据库的风格,但建议在SQL Server上使用Merge。请在SQL Server中使用Merge语句-这些答案似乎暗示了MySQL语法。您没有说明数据库的风格,但建议在SQL Server上使用Merge。

我知道,我没有唯一的密钥。组合本身是独一无二的。我知道,我没有唯一的钥匙。它自身的组合是独一无二的。