我有一个名为 autosaves 的表,我的网络应用程序每 4 秒保存一次用户自动保存,以防我的网络应用程序崩溃。
自动保存
- 客户ID
- 设计类型
- 自动保存文件
条件是这样的:
如果 customerId 和 designtype 已存在,则使用这些值更新行(customerId designType autosaveFile)
否则,如果我提到的 2 个条件不存在,则使用新值创建一个新行。
我遇到了 Insert Into 语句,但我似乎无法理解如何制定它,以便在满足 2 个条件时更新。
我有一个名为 autosaves 的表,我的网络应用程序每 4 秒保存一次用户自动保存,以防我的网络应用程序崩溃。
自动保存
条件是这样的:
如果 customerId 和 designtype 已存在,则使用这些值更新行(customerId designType autosaveFile)
否则,如果我提到的 2 个条件不存在,则使用新值创建一个新行。
我遇到了 Insert Into 语句,但我似乎无法理解如何制定它,以便在满足 2 个条件时更新。
customerId您需要在和designType列上创建唯一索引:
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)