创建表:语法错误

时间:2013-09-22 19:54:04

标签: php mysql sql

CREATE TABLE IF NOT EXISTS 'wp_gom_my_project' (
'my_project_id' int NOT NULL auto_increment,
'my_project_name' text NOT NULL ,
'user_id' int NOT NULL ,
'my_project_description' text NOT NULL ,
'my_project_deadline' datetime NOT NULL ,
PRIMARY KEY  (`my_project_id`)
) 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 ''wp_gom_my_project' ( 'my_project_id' int NOT NULL auto_increment, 'my_project' at line 1

6 个答案:

答案 0 :(得分:5)

你有错误的报价:

  • '用于引用字符串
  • `用于引用标识符(表名,列名等)

由于您的表或列名称都不是关键字,所以根本不要放任何引号,它看起来会更好。 :)

答案 1 :(得分:1)

不要加任何引号,请使用`

试试这个

以下是reference fiddleanother one with `

CREATE TABLE IF NOT EXISTS wp_gom_my_project (
my_project_id int NOT NULL auto_increment,
my_project_name text NOT NULL ,
user_id int NOT NULL ,
my_project_description text NOT NULL ,
my_project_deadline datetime NOT NULL ,
PRIMARY KEY  (`my_project_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8

或用`

替换'

答案 2 :(得分:0)

不应引用表名和其他字段。

尝试

CREATE TABLE IF NOT EXISTS wp_gom_my_project (
my_project_id int NOT NULL auto_increment,
my_project_name text NOT NULL ,
user_id int NOT NULL ,
my_project_description text NOT NULL ,
my_project_deadline datetime NOT NULL ,
PRIMARY KEY  (`my_project_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8

代替。

答案 3 :(得分:0)

表名和列名不应该用单引号或双引号括起来。你可以使用反引号`

答案 4 :(得分:0)

单引号表示MySQL中的字符串值。如果要引用表名,则必须使用反引号:

CREATE TABLE IF NOT EXISTS `wp_gom_my_project` (
  `my_project_id` int NOT NULL auto_increment,
  `my_project_name` text NOT NULL ,
  `user_id` int NOT NULL ,
  `my_project_description` text NOT NULL ,
  `my_project_deadline` datetime NOT NULL ,
  PRIMARY KEY  (`my_project_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8

答案 5 :(得分:0)

在定义列名和表名时使用`(back quote)代替'(apostrophe)