我目前正在建立一个ASP.NET网站。在Global.asax中,我具有用于初始化某些表(如果它们不存在)的代码。代码的init blog_post和booked_dates部分可以正确执行并创建表,但init image_info则不能。它们非常相似,我找不到MySQL语法出了什么问题。

错误信息:
您的SQL语法有误。检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以在第1行的“描述” TEXT,PRIMARY KEY(id))附近使用

        //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();
        }


预先感谢您的帮助!

最佳答案

您在描述'周围使用了不同的引号,应该是另一组

`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))

关于c# - MySQL-当类似的CREATE TABLE没有出现时,CREATE TABLE引发错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15431989/

10-11 13:50
查看更多