我正在尝试在 PDO 脚本中创建一个查询,以检查记录是否存在,如果它执行查询应该更新记录,如果它不存在,它应该创建一个新记录。
表中应该只存在一次的列不是 INDEX 键(现在不能使它唯一),所以它没有设置为唯一的,我不能使用 ON DUPLICATE KEY UPDATE
我想在下面使用这个查询逻辑来使它工作:
$stmt = $conn->prepare('IF EXISTS (SELECT * FROM `Table1` WHERE `code`= :code )
UPDATE `Table1`
SET `code_stat` = 2
WHERE code = :code
ELSE
INSERT INTO `Table1` (`code`,`code_stat`)
VALUES (:code, 2 ) ' );
$stmt->execute([
'code' => $_POST['code']
]);
问题是在执行查询时我收到以下错误,说存在语法问题:
SQL syntax; check the manual that corresponds
to your MySQL server version for the right syntax to use near
'IF EXISTS (SELECT * FROM Table1 WHERE code= ? ) UPDATE Table1' at line 1
Cats萌萌
海绵宝宝撒