guoxiangyang521
2012-02-08 17:08 阅读 229
已采纳

美女找茬,看看这条牛B的SQL问题出在哪里

CREATE TABLE books (

book_id int(11) NOT NULL default '0',
book_name varchar(200) character set gb2312 default NULL,
book_author varchar(100) character set gb2312 default NULL,
book_publish varchar(100) character set gb2312 default NULL,
book_date date default NULL,
book_isbn varchar(20) default NULL,
book_page int(11) default NULL,
book_price decimal(10,2) default NULL,
book_content varchar(100) character set gb2312 default NULL,
PRIMARY KEY (book_id))ENGINE=InnoDB DEFAULT CHARSET=gbk ROW_FORMAT=COMPRESSED;

报错:缺失右括号...

我到了半天也没找到问题出在哪里..各位大吓帮下忙啦~指点指点

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • 已采纳
    sha1064616837 sha1064616837 2012-02-08 17:49

    我把你每行后面的“character set gb2312 default NULL”去掉了,就没错。所以我估计着可能是“character set gb2312 default NULL”这种约束不能放在建表的时候在每行后面。
    因为我建表的时候从来没用过那种约束,所以没试。你可以自己试试。希望能帮你找到突破口。
    请问:为什么这种编码限制要放在建表中了。不是一般都是在代码中来规定格式的吗?

    点赞 评论 复制链接分享
  • myali88 myali88 2012-02-08 17:18

    [code="java"]
    PRIMARY KEY (book_id))ENGINE=InnoDB DEFAULT CHARSET=gbk
    [/code]
    看了看,这里最后一个括号似乎不是英文字符造成的,你改用英文的右括号试试。

    点赞 评论 复制链接分享
  • myali88 myali88 2012-02-08 17:53

    [quote]
    还是不行..
    [/quote]
    不会呀,我把上面的代码拷贝一下,只把最后的右括号改了一下,可以执行sql呢。

    点赞 评论 复制链接分享

相关推荐