我在DELETE语句中有一个SQLite语法错误

Vol*_*da2 2 sqlite macos

我有一个非常奇怪的sqlite语法错误.

const char *statement = "DELETE FROM quotes t1 WHERE t1.id=127";
int returnCode = sqlite3_exec(database, statement, NULL, NULL, &errorMsg);
if (returnCode!=SQLITE_OK) 
{
    fprintf(stderr, "Error: %s", errorMsg);
    sqlite3_free(errorMsg);
}

 Error: near "t1": syntax error
Run Code Online (Sandbox Code Playgroud)

但是这段代码效果很好

const char *statement = "DELETE FROM quotes WHERE id=127";
int returnCode = sqlite3_exec(database, statement, NULL, NULL, &errorMsg);
Run Code Online (Sandbox Code Playgroud)

Mar*_*ers 5

SQLite不允许删除语句中的别名.

有关允许的语法,请参阅手册.


删除,语句

在此输入图像描述

合格的表名

在此输入图像描述