2

我有一个非常奇怪的 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

但是这段代码运行良好

const char *statement = "DELETE FROM quotes WHERE id=127";
int returnCode = sqlite3_exec(database, statement, NULL, NULL, &errorMsg);
4

1 回答 1

5

SQLite 不允许在删除语句中使用别名。

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


删除-stmt

在此处输入图像描述

限定表名

在此处输入图像描述

于 2012-07-22T15:37:04.487 回答