SQL(MySql)外键和复合键语法错误

时间:2017-02-09 06:29:45

标签: mysql sql

我是SQL的新手,我想知道我在这里做错了什么。我得到的错误是:

#1064 - 您的SQL语法出错;查看与您的MySQL服务器版本对应的手册,以便在'Cast(movieId int,actorId int,salary decimal(7,2)default'77777.77',first'在第1行附近)使用正确的语法

create table Cast(
movieId int,
actorId int,
salary decimal(7,2) default '77777.77',
primary key(movieId,actorId)
foreign key(actorId) references Actor(actorId),
foreign key(movieId) references Movie(movieId)
);

1 个答案:

答案 0 :(得分:2)

如果Cast(...Cast之间没有空格(,则MySQL认为您正在尝试使用CAST() builtin function。 <{1}}之后没有任何意义,因此MySQL很困惑。

请参阅https://dev.mysql.com/doc/refman/5.7/en/function-resolution.html

如果你在paren之前放置一个空格,那就解决了这个问题。

CREATE TABLE

你还有另一个小错误,你在PRIMARY KEY之后忘记了一个逗号。