C++ sqlite3“U准备失败,带有”;近;表";:语法错误“;
我试图使用SQLite的编译语句将行插入表中:C++ sqlite3“U准备失败,带有”;近;表";:语法错误“;,c++,sql,sqlite,C++,Sql,Sqlite,我试图使用SQLite的编译语句将行插入表中: rc = sqlite3_prepare(db, "INSERT INTO TABLE test VALUES (?,?,?,?)", -1, &stmt, 0); if( rc!=SQLITE_OK ) printf("%s", sqlite3_errmsg(db)); sqlite3\u prepare返回1,而sqlite3\u errmsg返回: “表”附近:语法错误 表是保留关键字。为了避免语法错误,必须使用括号对其进行
rc = sqlite3_prepare(db, "INSERT INTO TABLE test VALUES (?,?,?,?)", -1, &stmt, 0);
if( rc!=SQLITE_OK )
printf("%s", sqlite3_errmsg(db));
sqlite3\u prepare
返回1,而sqlite3\u errmsg
返回:
“表”附近:语法错误
表
是保留关键字。为了避免语法错误,必须使用括号对其进行转义
INSERT INTO test VALUES (?,?,?,?)
表
是保留关键字。为了避免语法错误,必须使用括号对其进行转义
INSERT INTO test VALUES (?,?,?,?)
rc = sqlite3_prepare(db, "INSERT INTO test VALUES (?,?,?,?)", -1, &stmt, 0);
if( rc!=SQLITE_OK )
printf("%s", sqlite3_errmsg(db));
命名要插入的字段也是一种很好的做法。这样,如果您向表中添加字段,您的查询将不会中断…您不应该在查询中添加“表”:
rc = sqlite3_prepare(db, "INSERT INTO test VALUES (?,?,?,?)", -1, &stmt, 0);
if( rc!=SQLITE_OK )
printf("%s", sqlite3_errmsg(db));
命名要插入的字段也是一种很好的做法。所以,如果您向表中添加字段,您的查询将不会中断…顺便说一句,
插入[表]
仍然给我一个错误,这次是测试附近的语法错误
,但删除表也修复了该错误,现在返回成功。不仅仅是插入测试值(?,,,?)
起初我以为你的表叫做表,但我错了。您的表名是test
对吗?所以您应该删除表
。是的,我的表名为测试
。顺便说一句,插入[表]
仍然给我一个错误,这次测试附近的语法错误
,但删除表也修复了这个错误,现在它返回了成功。不仅仅是插入测试值(?,,,?)
起初我以为你的表叫做表,但我错了。您的表名是test
对吗?因此,您应该删除表
。是的,我的表名为test
。