Php 此查询的错误在哪里?
我正在开发一个应用程序,它需要在mysql服务器上设置所有表。但我有一个表有问题。这是查询:Php 此查询的错误在哪里?,php,mysql,sql,Php,Mysql,Sql,我正在开发一个应用程序,它需要在mysql服务器上设置所有表。但我有一个表有问题。这是查询: CREATE TABLE IF NOT EXISTS emails ( 'id' int(11) NOT NULL AUTO_INCREMENT, 'em_id' int(11) NOT NULL, 'cuenta' varchar(20) NOT NULL, 'link' text NOT NULL, 'fecha' timestamp
CREATE TABLE IF NOT EXISTS emails (
'id' int(11) NOT NULL AUTO_INCREMENT,
'em_id' int(11) NOT NULL,
'cuenta' varchar(20) NOT NULL,
'link' text NOT NULL,
'fecha' timestamp NULL DEFAULT CURRENT_TIMESTAMP,
'conf' int(11) NOT NULL DEFAULT '0',
'confirmed' timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
'used' int(11) NOT NULL DEFAULT '0',
'used_time' timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY ('id','cuenta')
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
当我的应用程序运行时,我得到以下信息:
#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 ''id' int(11) NOT NULL AUTO_INCREMENT,
'em_id' int(11) NOT NULL,
'cuenta' v' at line 2
我没有主意了,请帮帮我。谢谢你应该用反勾号而不是单引号
CREATE TABLE IF NOT EXISTS emails (
`id` int(11) NOT NULL AUTO_INCREMENT,
`em_id` int(11) NOT NULL,
`cuenta` varchar(20) NOT NULL,
`link` text NOT NULL,
`fecha` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
`conf` int(11) NOT NULL DEFAULT '0',
`confirmed` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
`used` int(11) NOT NULL DEFAULT '0',
`used_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`id`,`cuenta`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
去掉列标识符周围的引号。要么使用记号,要么什么都不使用:
CREATE TABLE IF NOT EXISTS emails (
id int(11) NOT NULL AUTO_INCREMENT,
em_id int(11) NOT NULL,
cuenta varchar(20) NOT NULL,
link text NOT NULL,
fecha timestamp NULL DEFAULT CURRENT_TIMESTAMP,
conf int(11) NOT NULL DEFAULT '0',
confirmed timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
used int(11) NOT NULL DEFAULT '0',
used_time timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (id,cuenta)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
或
在id、em_id等周围保留引号。单引号对列名无效。将它们更改为backticks
`
。主键中缺少一些引号definition@John康德:谢谢!虱子比跳蚤好;或者这是另一种方式?;-)哈哈。以前从没听说过这个。:)我也不笑,其实是我刚刚编的。看起来我是一个比我是一个编码员更好的喜剧演员。好吧,如果你需要的话,至少你有一份夜间工作是的,它叫“睡眠”,哈哈哈;因为即使是这样,这也是一项独立的工作。无论如何,在这个白天和这个年龄,很难睡个好觉!
CREATE TABLE IF NOT EXISTS emails (
`id` int(11) NOT NULL AUTO_INCREMENT,
`em_id` int(11) NOT NULL,
`cuenta` varchar(20) NOT NULL,
`link` text NOT NULL,
`fecha` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
`conf` int(11) NOT NULL DEFAULT '0',
`confirmed` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
`used` int(11) NOT NULL DEFAULT '0',
`used_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`id`,`cuenta`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;