在SQL语句中使用NULL时访问冲突1064

时间:2019-06-06 08:39:42

标签: php mysql sql

我的SQL语句中有错误。我在命令中使用NULL,我想这就是问题所在,但我不确定。那我在做什么错呢?

代码:

function run()
    {
        $sql = "UPDATE %%EVENT%% SET lock = NULL WHERE 'lock' IS NOT NULL";

        Database::get()->update($sql);
    }

错误:

USER ERROR: "SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'lock = NULL WHERE 'lock' IS NOT NULL' at line 1

1 个答案:

答案 0 :(得分:0)

尝试删除第二个“锁”周围的撇号:

UPDATE %%EVENT%% SET lock = NULL WHERE lock IS NOT NULL

在不知道您正在使用的SQL方言的情况下,很难进一步诊断问题。 lock可能是保留关键字。您要使用%%EVENT%%实现什么?我认为您正在尝试使用通配符。