我的SQL INSERT INTO基于条件

时间:2013-10-05 07:33:03

标签: mysql

我有一个名为autosaves的表格,我的网络应用程序每4秒钟保存一次用户自动保存,以防我的网络应用程序崩溃。

自动保存

  • customerId
  • designType
  • autosaveFile

条件是:

如果customerId和designtype已存在,请使用这些值更新行(customerId designType autosaveFile)

否则,如果我提到的2个条件不存在,则使用新值创建一个新行。

我已经参与了Insert Into语句,但我似乎无法理解如何制定它以便在满足2个条件时更新它。

1 个答案:

答案 0 :(得分:2)

您需要在customerIddesignType列上创建唯一索引:

CREATE UNIQUE INDEX ix_cust_design ON autoSaves (customerId, designType);

然后您可以使用以下INSERT声明:

INSERT INTO autoSaves (customerId, designType, autosaveFile)
VALUES (@id, @type, @file)
ON DUPLICATE KEY UPDATE autosaveFile = VALUES(autosaveFile)