我正在尝试为此语句返回行的值:
INSERT INTO SystemName (SystemName)
SELECT * FROM (SELECT v_SystemName) AS tmp
WHERE NOT EXISTS (
SELECT * FROM SystemName WHERE SystemName = v_SystemName
) LIMIT 1;
SET id = LAST_INSERT_ID();
如果它确实进行了插入,我需要它返回该行 ID,否则它需要返回新的行 ID。我尝试使用 LAST_INSERT_ID() 但这并没有返回我需要的内容,因为如果它不进行插入,则会给出错误的结果。有没有人有一个想法可以使这项工作?