什么';mysql命令有什么问题?

什么';mysql命令有什么问题?,mysql,sql,Mysql,Sql,当我在phpmyadmin中运行以下命令时 CREATE TABLE subscribers ( 'subscriber_id' int(11) NOT NULL auto_increment, 'customers_id' int(11) default NULL, 'email_address' varchar(96) NOT NULL default '', 'email_format' varchar(4) NOT NULL default 'TEXT', PRIMA

当我在phpmyadmin中运行以下命令时

CREATE TABLE subscribers (
  'subscriber_id' int(11) NOT NULL auto_increment,
  'customers_id' int(11) default NULL,
  'email_address' varchar(96) NOT NULL default '',
  'email_format' varchar(4) NOT NULL default 'TEXT',
  PRIMARY KEY  ('subscriber_id')
) TYPE=MyISAM;
它向我显示了
#1064-您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,了解第2行“订户id”int(11)NOT NULL auto_increment,“客户id”int(11)defaul”附近使用的正确语法

 INSERT INTO query_builder (query_id, query_category, query_name, query_description, query_string, query_keys_list) VALUES (6, 'email,newsletters', 'All Newsletter Subscribers', 'Returns name and email address of all Customer Account subscribers and all Newsletter-Only subscribers.', 'select c.customers_firstname, c.customers_lastname, s.email_address as customers_email_address from TABLE_SUBSCRIBERS as s left join TABLE_CUSTOMERS as c on c.customers_id = s.customers_id ', '')
它表明: 1062-密钥1的重复条目“6”


我觉得命令是对的。我不知道怎么纠正它?谢谢。

您不需要在列名周围加上一个引号。去掉那个

这应该是

CREATE TABLE subscribers (
  subscriber_id int(11) NOT NULL auto_increment,
  customers_id int(11) default NULL,
  email_address varchar(96) NOT NULL default '',
  email_format varchar(4) NOT NULL default 'TEXT',
  PRIMARY KEY  (subscriber_id)
) TYPE=MyISAM;

尽管如此,如果与mysql保留字冲突,您可以将列名用倒钩括起来。

您不需要在列名周围加上单引号。去掉那个

这应该是

CREATE TABLE subscribers (
  subscriber_id int(11) NOT NULL auto_increment,
  customers_id int(11) default NULL,
  email_address varchar(96) NOT NULL default '',
  email_format varchar(4) NOT NULL default 'TEXT',
  PRIMARY KEY  (subscriber_id)
) TYPE=MyISAM;

尽管如此,如果与mysql保留字冲突,您可以将列名括在反勾中。

您不应该使用字符串作为列名。而且它不是发动机类型。 它应该是这样的:

CREATE TABLE subscribers (
  subscriber_id int(11) NOT NULL auto_increment,
  customers_id int(11) default NULL,
  email_address varchar(96) NOT NULL default '',
  email_format varchar(4) NOT NULL default 'TEXT',
  PRIMARY KEY  (subscriber_id)
) ENGINE=MyISAM;

不应使用字符串作为列名。而且它不是发动机类型。 它应该是这样的:

CREATE TABLE subscribers (
  subscriber_id int(11) NOT NULL auto_increment,
  customers_id int(11) default NULL,
  email_address varchar(96) NOT NULL default '',
  email_format varchar(4) NOT NULL default 'TEXT',
  PRIMARY KEY  (subscriber_id)
) ENGINE=MyISAM;

只需删除列名周围的引号,并将最后一位更改为Engine=MyISAM,就可以了:

CREATE TABLE subscribers (
  subscriber_id int(11) NOT NULL auto_increment,
  customers_id int(11) default NULL,
  email_address varchar(96) NOT NULL default '',
  email_format varchar(4) NOT NULL default 'TEXT',
  PRIMARY KEY  (subscriber_id)
) Engine=MyISAM;

只需删除列名周围的引号,并将最后一位更改为Engine=MyISAM,就可以了:

CREATE TABLE subscribers (
  subscriber_id int(11) NOT NULL auto_increment,
  customers_id int(11) default NULL,
  email_address varchar(96) NOT NULL default '',
  email_format varchar(4) NOT NULL default 'TEXT',
  PRIMARY KEY  (subscriber_id)
) Engine=MyISAM;

我删除了单引号,它仍然显示#1064-您的SQL语法有错误;检查与MySQL服务器版本相对应的手册,以了解第行“订阅者_id”)TYPE=MyISAM附近使用的正确语法6@hsz:谢谢@down321:请参阅更新的答案。我忘了从
主键(订户id)
中删除单引号,它仍然显示#1064-您的SQL语法有错误;检查与MySQL服务器版本相对应的手册,以了解第行“订阅者_id”)TYPE=MyISAM附近使用的正确语法6@hsz:谢谢@down321:请参阅更新的答案。我忘记从
主键(订户id)