Php 此查询的错误在哪里?

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

我正在开发一个应用程序,它需要在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 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;