0

現在、ASP.NET Web サイトを作成しています。Global.asax には、いくつかのテーブルが存在しない場合に初期化するためのコードがあります。コードの init blog_post およびbooked_dates 部分は正しく実行され、テーブルが作成されますが、init image_info は作成されません。それらは非常に似ており、MySQL 構文の問題点を見つけることができません。

エラー メッセージ:
SQL 構文にエラーがあります。1 行目の ''description' TEXT, PRIMARY KEY(id))' 付近で使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。

        //init blog_post
        using (MySqlCommand cmd = new MySqlCommand("CREATE TABLE IF NOT EXISTS `blog_post` (" +
            "`id` INT AUTO_INCREMENT," +
            "`header` VARCHAR(255)," +
            "`bbcode` TEXT," +
            "`author` VARCHAR(255)," +
            "`time_posted` DATETIME, " +
            "PRIMARY KEY(id));", con))
        {
            cmd.ExecuteNonQuery();
            cmd.Dispose();
        }

        //init booked_dates
        using (MySqlCommand cmd = new MySqlCommand("CREATE TABLE IF NOT EXISTS `booked_dates` (" +
            "`id` INT AUTO_INCREMENT," +
            "`author` VARCHAR(255)," +
            "`start_time` DATETIME," +
            "`end_time` DATETIME," +
            "`time_booked` DATETIME, " +
            "PRIMARY KEY(id));", con))
        {
            cmd.ExecuteNonQuery();
            cmd.Dispose();
        }

        //init image_info
        using (MySqlCommand cmd = new MySqlCommand("CREATE TABLE IF NOT EXISTS `image_info` (" +
            "`id` INT AUTO_INCREMENT," +
            "`author` VARCHAR(255)," +
            "`file_name` TEXT," +
            "`title` TEXT," +
            "`album` TEXT, " +
            "'description' TEXT, " +
            "PRIMARY KEY(id));", con))
        {
            cmd.ExecuteNonQuery();
            cmd.Dispose();
        }

事前に助けてくれてありがとう!

4

5 に答える 5

1

backticksテーブル作成コードで使用しませんでした。

"'description' TEXT, "

する必要があります

"`description` TEXT, "
于 2013-03-15T12:07:57.180 に答える
0

説明の周りに異なる引用符のセットを使用してい'ますが、他の引用符である必要があります

`description`

またはdescription、予約語ではないため、必要に応じて引用符を省略できます。クエリは次のようにする必要があります。

using (MySqlCommand cmd = new MySqlCommand("CREATE TABLE IF NOT EXISTS `image_info` (" +
            "`id` INT AUTO_INCREMENT," +
            "`author` VARCHAR(255)," +
            "`file_name` TEXT," +
            "`title` TEXT," +
            "`album` TEXT, " +
            "`description` TEXT, " +
            "PRIMARY KEY(id));", con))
于 2013-03-15T12:06:58.930 に答える
0

backticks代わりに使用する必要がありましたsingle quote

"'description' TEXT, " +

になるはずだった

"`description` TEXT, " +
于 2013-03-15T12:07:06.713 に答える
0

"'description' TEXT, " +他の引用があります!

于 2013-03-15T12:07:37.493 に答える
0

とにかくそれらを引用/バックティックする必要はありません。

于 2014-07-25T07:26:03.303 に答える