【发布时间】: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(idint(11) unsigned NOT NULL AUTO_INCREMENT,form_idvarchar(18) COLLATE utf8_general_ci; NOT NULL DEFAULT '',typevarchar(255) COLLATE utf8_general_ci; NOT NULL DEFAULT '',configlongtext COLLATE utf8_general_ci; NOT NULL, PRIMARY KEY (id), KEYform_id(form_id) ) 这是我的脚本。 Sql 只是在那里输出,因为错误 -
我想
utf8_general_ci;的分号会妨碍您。 (如果我没记错的话,无论如何在列级别设置排序规则是相当罕见的。您可以在表甚至数据库级别设置它。) -
根据文档 (dev.mysql.com/doc/refman/8.0/en/create-table.html),
COLLATE子句位于[NOT] NULL和DEFAULT之后。 -
附带说明:名为
form_id的列应该是某些表单表的外键,或者如果这是表单表本身,则应该是主键。
标签: mysql database mysql-error-1064