【问题标题】:Syntax error after show create table in mysql在 mysql 中显示创建表后的语法错误
【发布时间】:2013-01-06 18:13:47
【问题描述】:

我只想将现有的表结构复制到另一个数据库中。所有查询都在 phpmyadmin 中执行:

我先执行:

SHOW CREATE TABLE keyword_session

然后我在另一个数据库中执行它的输出:

CREATE TABLE `keyword_session` (  
`id` int(11) NOT NULL AUTO_INCREMENT, 
`session_id` int(11) NOT NULL,
`keyword_id` int(11) NOT NULL,  PRIMARY KEY (`id`))
ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1

我得到了错误:

#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册以获取正确的语法使用 靠近 'id int(11) NOT NULL AUTO_INCREMENT, Âsession_id int(11) NOT NULL,第 1 行的“关键字”

语法错误在哪里? SHOW CREATE TABLE 不是可以执行的结果吗?


编辑: 关于我尝试创建表的系统的一些信息:

Database server :
  Server: Localhost via UNIX socket
  Software: MySQL
  Software version: 5.1.63-0ubuntu0.11.10.1 - (Ubuntu)
  Protocol version: 10
  User: ...
  Server charset: UTF-8 Unicode (utf8)
Web server:
  ...
phpMyAdmin:
  Version information: 3.5.1, latest stable version: 3.5.5
  ...

【问题讨论】:

  • 嗯,你的 create table 语句正在处理小提琴,sqlfiddle.com/#!2/ab087
  • Â session_id int(11) NOT NULL, Â 中包含未知符号 Â

标签: mysql phpmyadmin create-table


【解决方案1】:

将其复制并粘贴到记事本或文本编辑器中,然后尝试重新粘贴。你可能有一些乱码。

【讨论】:

    【解决方案2】:

    命令

    show create table table_name;
    

    从具有默认字符集排序规则utf8_general_ci

    的数据库information_schema中检索信息

    因此数据将与该字符一起存储

    当您手动输入相同的内容时,您将不会收到错误

    如错误中所示,您的语句有未知符号 Â 属于默认字符集

    有关字符集和排序规则的更多信息可以找到here,这是了解它们以避免或解决未来错误的最佳参考

    【讨论】:

      【解决方案3】:

      当心带有在线编辑功能的新版本 phpmyadmin。有时从这些文本框中复制会产生奇怪的字符。

      【讨论】:

        【解决方案4】:

        根据错误,您的语句中似乎有未知符号Â

        您的换行提要可能被误解了。我这么说是因为它只在行尾很明显:

        id int(11) NOT NULL AUTO_INCREMENT, Â session_id int(11) NOT NULL, Â `keywor
        

        注意符号在session_idkeyword_id 声明之前是如何出现的?

        【讨论】:

        • 当我复制粘贴时,一些奇怪的字符作为空格偷偷进入字符串。替换所有空格/换行符解决了问题。
        • 这可能是因为 UTF-8 和其他文本格式转换。当我移植 b/w linux 和 Windows 的东西时,我发生了很多事情。
        猜你喜欢
        • 1970-01-01
        • 2014-04-09
        • 2016-02-07
        • 2014-05-17
        • 1970-01-01
        • 1970-01-01
        • 2012-08-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多