我有一个非常奇怪的 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);
SQLite 不允许在删除语句中使用别名。
See the manual http://www.sqlite.org/lang_delete.html对于允许的语法。
删除-stmt http://www.sqlite.org/syntaxdiagrams.html#delete-stmt
限定表名 http://www.sqlite.org/syntaxdiagrams.html#qualified-table-name
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)