いくつかの値をデータベースに挿入するのに問題があります。データベース名はユーザー、テーブルはヒーローです。私は学習目的でいくつかの 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 構文にエラーがあります。1 行目の 'NULL, 17, 13, 17, 15, 9, 8, doSOmething,3, 3260)' 付近で使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。
psフィールドが自動インクリメント(IDに使用)であるため、NULLを送信しています。「」の追加、分離など、ほとんどすべての可能な代替手段を試しました。この問題に役立つ良いチュートリアルが見つからないので、誰かがこのコード行で私を助けてくれますか?
前もって感謝します