我在尝试在Laravel 5.5中设置SQL变量时遇到错误。
PDOException: SQLSTATE[HY000]: General error: 1 near "SET": syntax error
SQL
SET @i = 0;
同样的SQL在phpMyAdmin中运行良好。
我尝试过的所有因素都会导致相同的错误
DB::statement("SET @i = 0");
DB::select(DB::raw("SET @i = 0;"));
$pdo = DB::connection()->getPdo();
$pdo->prepare("SET @i = 0;");
$pdo->execute();
更新
我发现了我的错误,请参阅下面的答案。
答案 0 :(得分:0)
事实证明我在我的测试中只得到了这个错误,我在内存中使用了SQLite。 SQLite不支持此SQL语法。我想,必须摆脱那个考验。
答案 1 :(得分:0)
你应该这样做:
DB::statement(DB::raw('SET @i = 0'));