我在将一些值插入数据库时遇到问题。数据库名称是用户,表是英雄。我正在开发一些以学习为目的的mmorpg游戏。
这是有效的mysql代码
INSERT INTO heroes (HeroID,Strenght, Dexterity, Vitality, Wisdom, Inteligence, Luck, Name, Level, XP) VALUES (NULL, 17, 13, 17, 15, 9, 8, 'works', 4, 3750);
但是当我通过 mysql++ 从 c++ 尝试时,我得到了错误。
代码:
#include <mysql++/mysql++.h>
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
// Connect to the database.
mysqlpp::Connection conn(false);
if (conn.connect("users", "localhost",
"root", "toor"))
{
mysqlpp::Query query = conn.query();
query << "INSERT INTO heroes" <<
"VALUES (NULL, 17, 13, 17, 15, 9, 8, doSomething,3, 3260);";
query.execute();
if (mysqlpp::StoreQueryResult res = query.store())
{
// nothing to do here
}
else
{
cerr << "Failed to get item list: " << query.error() << endl;
return 2;
}
return 0;
}
else
{
cerr << "DB connection failed: " << conn.error() << endl;
return 1;
}
}
我得到的错误是:无法获取项目列表;您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 'NULL, 17, 13, 17, 15, 9, 8, doSOthing,3, 3260)' 附近使用正确的语法
ps我发送NULL是因为该字段是自动递增的(用于ID)我尝试了几乎所有可能的替代方法,例如添加'',分离等等。有人可以帮我处理这行代码吗,因为我找不到可以帮助解决这个问题的好教程。
提前致谢