【问题标题】:#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version#1064 - 您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册
【发布时间】:2018-11-28 08:14:28
【问题描述】:

我有一个旧数据库。我正在使用 phpmyadmin 将它上传到 SQL 但是当我想导入它时出现错误。似乎第一个表甚至无法导入:

CREATE TABLE `manager` (
  `username` VARCHAR(20) NOT NULL, 
  `password` VARCHAR(50) NOT NULL,
  `email` VARCHAR(100) NOT NULL ,
  `deposit` VARCHAR( 50 ) DEFAULT '0' NOT NULL
)
TYPE = MYISAM
 CHARACTER SET utf8 COLLATE utf8_new_ci

MySQL 说:文档

#1064 - 您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以了解要使用的正确语法 在第 7 行的“TYPE = MYISAM CHARACTER SET utf8 COLLATE utf8_new_ci”附近

我该如何解决这个问题?

【问题讨论】:

  • 您寻找解决方案了吗? “MyISAM 是 MySQL 3.23 的默认存储引擎,直到它在 MariaDB 和 MySQL 5.5 中被 InnoDB 取代”(Source)
  • 请不要标记 wrog dbms。
  • utf8_new_ci 也可能是错误的。

标签: mysql mariadb


【解决方案1】:

TYPE 在 Mysql 8 中不是有效的 table_option,请参阅手册 https://dev.mysql.com/doc/refman/8.0/en/create-table.html。从第 110 行开始有一个所有有效 table_options 的列表。

我有一个旧数据库

也许您可以通过运行 mysql 命令向我们提供有关您使用的数据库的更多信息

SELECT VERSION();

【讨论】:

    【解决方案2】:

    ENGINE=MyISAM 我相信你应该使用它。此外,像这样封装您的字段名称可能是一个好主意:

    `username` 和 `password` 只是为了防止 mysql/mariadb 把它们当作保留字。

    【讨论】:

    • 工作就像一个魅力。谢谢
    猜你喜欢
    • 2017-06-30
    • 2018-11-09
    • 2019-01-11
    • 1970-01-01
    • 2014-03-14
    • 1970-01-01
    • 1970-01-01
    • 2019-10-24
    • 2021-12-03
    相关资源
    最近更新 更多