【问题标题】:MySQL server version for the right syntax to use near '' at line 3MySQL 服务器版本,用于在第 3 行的 '' 附近使用正确的语法
【发布时间】:2021-02-07 08:25:04
【问题描述】:

当我导入我的数据库时,我在 PHPMyadmin 中遇到了一些问题。

CREATE TABLE IF NOT EXISTS `wp_cf_forms` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `form_id` varchar(18) COLLATE utf8_general_ci; NOT NULL DEFAULT '',
  `type` varchar(255) COLLATE utf8_general_ci; NOT NULL DEFAULT '',
  `config` longtext COLLATE utf8_general_ci; NOT NULL,
  PRIMARY KEY (`id`),
  KEY `form_id` (`form_id`)
)

您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 3 行的 '' 附近使用正确的语法(`form_id` varchar(18) COLLATE utf8_general_ci; NOT NULL DEFAULT '',)

有谁知道我该如何解决这个问题?

【问题讨论】:

  • 嗨,Thorsten 创建表如果不存在 wp_cf_forms (id int(11) unsigned NOT NULL AUTO_INCREMENT, form_id varchar(18) COLLATE utf8_general_ci; NOT NULL DEFAULT '', type varchar(255) COLLATE utf8_general_ci; NOT NULL DEFAULT '', config longtext COLLATE utf8_general_ci; NOT NULL, PRIMARY KEY (id), KEY form_id (form_id) ) 这是我的脚本。 Sql 只是在那里输出,因为错误
  • 我想utf8_general_ci; 的分号会妨碍您。 (如果我没记错的话,无论如何在列级别设置排序规则是相当罕见的。您可以在表甚至数据库级别设置它。)
  • 根据文档 (dev.mysql.com/doc/refman/8.0/en/create-table.html),COLLATE 子句位于 [NOT] NULLDEFAULT 之后。
  • 附带说明:名为form_id 的列应该是某些表单表的外键,或者如果这是表单表本身,则应该是主键。

标签: mysql database mysql-error-1064


【解决方案1】:

根据@Thorsten Kettner 所说,您可以解决这个问题

CREATE DATABASE mydatabase CHARACTER SET utf8 COLLATE utf8_general_ci;

USE mydatabase;

CREATE TABLE IF NOT EXISTS `wp_cf_forms` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `form_id` varchar(18) NOT NULL DEFAULT '',
  `type` varchar(255) NOT NULL DEFAULT '',
  `config` longtext NOT NULL,
  PRIMARY KEY (`id`),
  KEY `form_id` (`form_id`)
);

结果

mysql> CREATE DATABASE mydatabase CHARACTER SET utf8 COLLATE utf8_general_ci;
Query OK, 1 row affected (0.02 sec)

mysql> USE mydatabase;
Database changed
mysql> CREATE TABLE IF NOT EXISTS `wp_cf_forms` (
    ->   `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
    ->   `form_id` varchar(18) NOT NULL DEFAULT '',
    ->   `type` varchar(255) NOT NULL DEFAULT '',
    ->   `config` longtext NOT NULL,
    ->   PRIMARY KEY (`id`),
    ->   KEY `form_id` (`form_id`)
    -> );
Query OK, 0 rows affected (0.03 sec)

mysql> SHOW TABLES ;
+----------------------+
| Tables_in_mydatabase |
+----------------------+
| wp_cf_forms          |
+----------------------+
1 row in set (0.01 sec)

mysql>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-12
    • 2021-05-30
    • 2017-08-26
    • 2017-10-25
    • 2020-07-03
    • 2022-11-12
    • 2017-04-29
    • 2017-09-30
    相关资源
    最近更新 更多