我正在尝试使用SQLite的编译语句将行插入表中:
rc = sqlite3_prepare(db, "INSERT INTO TABLE test VALUES (?,?,?,?)", -1, &stmt, 0);
if( rc!=SQLITE_OK )
printf("%s", sqlite3_errmsg(db));
sqlite3_prepare
返回1,sqlite3_errmsg
返回:
“near”TABLE“:语法错误”
答案 0 :(得分:3)
您不应在查询中加入“TABLE”:
rc = sqlite3_prepare(db, "INSERT INTO test VALUES (?,?,?,?)", -1, &stmt, 0);
if( rc!=SQLITE_OK )
printf("%s", sqlite3_errmsg(db));
为您插入的字段命名也是一种很好的做法。因此,如果您向表中添加字段,您的查询就不会被破坏......
答案 1 :(得分:2)
TABLE
是保留关键字。为避免语法错误,必须使用括号
INSERT INTO test VALUES (?,?,?,?)