我正在尝试将我在 MAMP 服务器上本地开发的网站迁移到实时服务器。所有查询都按预期在 MAMP 上运行。在实时服务器上,我收到“输入...不存在”的查询错误。
MAMP 服务器:PHP - 7.4.2 MySQL - 5.7.26 InnoDB
实时服务器:PHP - 7.4 MariaDB - 10.2 InnoDB
结构和主键相同 - 检查所有表
$user_id, $id, $date, $summ - 是变量,我通过 POST 方法得到。
询问:
if ($result = $link->prepare("INSERT INTO sb_user_checks (user_id, check_id, date_update, summ, updated_by)
SELECT ?, ?, ?, ?, 'You'
WHERE NOT EXISTS (SELECT date_update FROM sb_user_checks WHERE user_id=? AND check_id=? AND date_update=?)
")) {
$result->bind_param('iisiiis', $user_id, $id, $date, $summ, $user_id, $id, $date);
$result->execute();
if (mysqli_affected_rows($link)>0) {echo 'added';}
$result->close();
}
我收到以下错误:
#1064 - 您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以在第 3 行的“WHERE NOT EXISTS (SELECT date_update FROM sb_user_checks WHERE user_i”附近使用正确的语法是否与 MySQL 版本有关,或者它是不正确的查询?但是,再次,它在 MAMP 上正常工作。
翻过高山走不出你