2017-02-09 12 views
1

私はSQLを初めて使用しています。私はここで何が間違っているのか把握しようとしています。私が得ているエラーは次のとおりです。SQL(MySql)の外部キーと複合キーの構文エラー

#1064 - SQL構文に誤りがあります。 「キャスト(MOVIEID int型、アクターID int型、給与進(7,2)デフォルトの 『77777.77近くで使用する権利構文についてはMySQLサーバのバージョンに対応するマニュアルを確認してください』、フォア」行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) 
); 

答えて

2

であなたはCast(隙間なくCast(...を使用する場合、MySQLはCAST() builtin functionを使用しようとしていると考えています。CREATE TABLEを、以下の意味がありません。つまり、MySQLは混乱しているよう。あなたはスペースを入れた場合

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

を参照してください。パレンの前に、そのfiその問題。

create table Cast (
       ^

また、別の小さな間違いがありますが、PRIMARY KEYの後にコンマを忘れてしまったことがあります。

+1

bill->この行の主キー(movieId、actorId)の末尾にコンマがありません –

+0

@SeanCh、ありがとう、私は答えの最後に言及しませんでしたか? –

+0

はい。すでにupvoted。 –