第一表:
create table login(
id int auto_increment,
user varchar(20),
pass varchar(20),
primary key(id)
);第一个表是用主键创建的。
第二表:
create table check(
cid int,
rid int,
usname varchar(20),
word varchar(20),
FOREIGN KEY(rid) REFERENCES login(id)
);错误:
ERROR 1064 (42000): 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 'check
(cid int, rid int, usname varchar(20), word varchar(20), FOREIGN KEY(rid) R' at
line 1发布于 2014-07-28 12:27:24
问题不在于外键。check是MySQL中的一个保留字。因此,您需要选择另一个名称或转义它:
create table `check`(
cid int,
rid int,
usname varchar(20),
word varchar(20),
FOREIGN KEY(rid) REFERENCES login(id)
);具有讽刺意味的是,虽然它是一个保留词,但实际上并没有被使用。唉,我确实希望MySQL支持check约束。
顺便说一下,这里是一个SQL。
发布于 2014-07-28 12:27:31
check是MySQL中的一个关键字;要么用backticks包围它,‘,要么选择一个不同的名称。
发布于 2014-07-28 12:30:07
更改表check的名称。Check是MySQL中的一个保留字
https://stackoverflow.com/questions/24995214
复制相似问题