【解決方法】1072 – キー列 ‘UserID’ がテーブルに存在しません

プログラミングQA


SQL を作成するのにあなたの助けが必要なのですが、なぜこのような問題が発生しているのかわかりません。 最初の 2 つのテーブルを作成しますが、Driver テーブルに到達すると、フィットをスローします。
エラー:

MySQL は次のように述べています: ドキュメント
#1072 – キー列「UserID」がテーブルに存在しません

SQL
CREATE TABLE User (
UserID int(11) NOT NULL AUTO_INCREMENT,
FirstName varchar(50) default NULL,
LastName varchar(50) default NULL,
Email varchar(50) default NULL,
Password varchar(50)default NULL,
PRIMARY KEY (UserID)
)ENGINE=INNODB;


CREATE TABLE Car (
CarID int(11) NOT NULL AUTO_INCREMENT,
Make varchar(50) default NULL,
Year int(11) default NULL,
Color varchar(50) default NULL,
PRIMARY KEY (CarID)
)ENGINE=INNODB;

CREATE TABLE Driver (
DriverID int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (DriverID),
FOREIGN KEY (UserID) REFERENCES User (UserID),
FOREIGN KEY (CarID) REFERENCES Car (CarID)
)ENGINE=INNODB;

CREATE TABLE Request (
RequestID int(11) NOT NULL AUTO_INCREMENT,
From varchar(50) default NULL,
To varchar(50) default NULL,
RequestDate Date default NULL,
PRIMARY KEY (RequestID),
FOREIGN KEY (UserID) REFERENCES User (UserID),
FOREIGN KEY (CarID) REFERENCES Car (CarID)
)ENGINE=INNODB;

ご協力いただきありがとうございます。

解決策 1

まだ作成していない列に外部キーを設定しようとしています。 これを試して …

SQL
CREATE TABLE Driver (
DriverID int(11) NOT NULL AUTO_INCREMENT,
UserID int,
CarID int,
PRIMARY KEY (DriverID),
FOREIGN KEY (UserID) REFERENCES User (UserID),
FOREIGN KEY (CarID) REFERENCES Car (CarID)
)ENGINE=INNODB;

解決策 3

userid、carid は書かずに、主キーに id を書き込むだけです

解決策 4

プライマリ番号に id int を書き込むだけです。#id を #userid に変更してから、次のように作業します。-shivam mandal

コメント

タイトルとURLをコピーしました