【问题标题】:sql tutorial script error [duplicate]sql教程脚本错误[重复]
【发布时间】:2012-04-24 13:43:56
【问题描述】:

它告诉你从this教程复制并粘贴到phpMyAdmin的SQL页面中的SQL文本给了我错误:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL
server version for the right syntax to use near 'TYPE=MyISAM' at line 6

这是脚本:

CREATE TABLE `scores` (
   `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
   `name` VARCHAR(15) NOT NULL DEFAULT 'anonymous',
   `score` INT(10) UNSIGNED NOT NULL DEFAULT '0'
)
TYPE=MyISAM;

我在这里做错了什么?

【问题讨论】:

  • 没什么。那应该行得通。您的 IDE 可能正在运行。您是否尝试过其他 MySQL 客户端?
  • 也许可以尝试用ENGINE 替换TYPE,或者省略整行。

标签: mysql sql


【解决方案1】:

应该是ENGINE=MyISAM 而不是TYPE=MyISAM

【讨论】:

  • 确实如此。 TYPE 已被弃用一段时间,but was removed/added back in again/removed again/... a few times
  • 太好了,谢谢。出于兴趣,这条线是做什么的?
  • 您可以在此处阅读有关不同存储引擎的信息:dev.mysql.com/doc/refman/5.5/en/storage-engines.html。基本上,标准存储现在是 InnoDB。 MyISAM 很旧,它不允许外键和其他有用的东西。虽然在某些情况下它可能会更快。
  • 我应该把它改成 InnoDB 吗?另外,如果我省略这一行,它仍然是 InnoDB 吗?
  • 您使用的引擎应该是有意识的选择。但如果你不在乎,我建议使用 InnoDB,因为它的功能更丰富。如果省略此行,引擎将设置为默认引擎,即 InnoDB for MySQL >= 5.5 和 MyISAM for MySQL
【解决方案2】:

是的。 TYPE 不适用于 MyISAM。

**TYPE** must be **ENGINE** . 

这是常见问题!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-08
    • 2018-03-10
    • 2013-01-24
    • 2012-12-07
    • 1970-01-01
    • 1970-01-01
    • 2013-09-15
    相关资源
    最近更新 更多