CREATE TABLE `pastebin` (
`pid` int(11) NOT NULL auto_increment,
`poster` varchar(16) default NULL,
`posted` datetime default NULL,
`code` text,
`parent_pid` int(11) default '0',
`format` varchar(16) default NULL,
`codefmt` mediumtext,
`codecss` text,
`domain` varchar(255) default '',
`expires` DATETIME,
`expiry_flag` ENUM('d','m', 'f') NOT NULL DEFAULT 'm',
PRIMARY KEY (`pid`),
KEY `domain` (`domain`),
KEY `parent_pid`,
KEY `expires`
);
创建数据库并将SQL查询复制粘贴到PHPMyAdmin后,我收到以下错误:
#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 '
KEY `expires`
)' at line 16
答案 0 :(得分:1)
您必须在索引名称后面的括号中指定要编入索引的列。
在定义的底部:
PRIMARY KEY (`pid`),
KEY `domain` (`domain`),
KEY `parent_pid`,
KEY `expires`
会变成:
PRIMARY KEY (`pid`),
KEY `domain` (`domain`),
KEY `parent_pid` (`parent_pid`),
KEY `expires` (`expires`)
答案 1 :(得分:1)
CREATE TABLE `pastebin` (
`pid` int(11) NOT NULL auto_increment,
`poster` varchar(16) default NULL,
`posted` datetime default NULL,
`code` text,
`parent_pid` int(11) default '0',
`format` varchar(16) default NULL,
`codefmt` mediumtext,
`codecss` text,
`domain` varchar(255) default '',
`expires` DATETIME,
`expiry_flag` ENUM('d','m', 'f') NOT NULL DEFAULT 'm',
PRIMARY KEY (`pid`),
KEY `domain` (`domain`),
KEY `parent_pid` (`parent_pid`),
KEY `expires` (`expires`)
);
索引需要名称,因为它们是数据库中的实体。