首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL -当类似的CREATE TABLE不存在时,CREATE TABLE trows错误

问MySQL -当类似的CREATE TABLE不存在时,CREATE TABLE trows错误
EN

Stack Overflow用户
提问于 2013-03-15 20:04:15
回答 5查看 4.3K关注 0票数 0

目前我正在制作一个ASP.NET网站。在Global.asax中,如果一些表不存在,我有初始化这些表的代码。代码的初始化blog_post和booked_dates部分可以正确执行并创建表,但是初始化image_info不能。它们非常相似,我找不到MySQL语法的错误所在。

错误消息:

您的SQL语法中有一个错误;请查看与您的MySQL服务器版本对应的手册,以了解要在第1行使用的正确语法

代码语言:javascript
复制
        //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();
        }

谢谢你事先的帮助!

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-03-15 20:06:59

您在description '前后使用了不同的引号,应该是另一个

代码语言:javascript
复制
`description`

或者,由于description不是保留字,如果需要,您可以省略引号。您的查询应该是:

代码语言:javascript
复制
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))
票数 0
EN

Stack Overflow用户

发布于 2013-03-15 20:07:57

您在create table代码中没有使用backticks。

代码语言:javascript
复制
"'description' TEXT, "

应该是

代码语言:javascript
复制
"`description` TEXT, "
票数 1
EN

Stack Overflow用户

发布于 2013-03-15 20:07:07

应该使用backticks而不是single quote

代码语言:javascript
复制
"'description' TEXT, " +

应该是

代码语言:javascript
复制
"`description` TEXT, " +
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15431989

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档