我正在尝试在PHPMyAdmin中设置一些表并使用了这个语句;为什么会产生错误而不被接受?我看不出任何明显的语法问题,所以我不确定问题是什么。生成的错误标记为#1064。
CREATE TABLE 'users' (
'id' INT NOT NULL AUTO_INCREMENT,
'username' VARCHAR(45) NOT NULL,
'password' VARCHAR(45) NOT NULL,
'email' VARCHAR(45) NOT NULL,
'dob' DATE NOT NULL,
'image_url' VARCHAR(45) NOT NULL,
'name' CHAR NOT NULL,
'email_private' TINYINT NOT NULL,
PRIMARY KEY ('id')
);
CREATE TABLE 'comments' (
'id' INT NOT NULL AUTO_INCREMENT,
'comment' VARCHAR(140) NOT NULL,
'receiver_id' INT NOT NULL,
PRIMARY KEY ('id'),
CONSTRAINT 'receiver_id'
FOREIGN KEY ('receiver_id')
REFERENCES 'users' ('id')
);
答案 0 :(得分:1)
因为你使用MySQL Reserved Words
,所以逃避它们的方法是使用反引号`:
CREATE TABLE 'users' (
`id` INT NOT NULL AUTO_INCREMENT,
`username` VARCHAR(45) NOT NULL,
`password` VARCHAR(45) NOT NULL,
`email` VARCHAR(45) NOT NULL,
`dob` DATE NOT NULL,
`image_url` VARCHAR(45) NOT NULL,
`name` CHAR NOT NULL,
`email_private` TINYINT NOT NULL,
PRIMARY KEY (`id`)
);
答案 1 :(得分:0)
您不应在列名中使用'
,如果您想使用,请使用`而不是'
。
'
中的内容表示它是一个字符串,'
始终用于列值而非列名称