私はSQLを初めて使用しています。私は理解していますが、テーブルを作成できません。エラー1005は、テーブルuser.EMPLOYEE
とuser.STORE
(エラー番号150)助けを作成することはできませんと言うエラー1005 cant create table user.EMPLOYEEとuser.STORE(errno 150)
DROP TABLE IF EXISTS EMPLOYEE, STORE, REGION;
CREATE TABLE REGION (
REGION_CODE int NOT NULL AUTO_INCREMENT,
REGION_DESCRIPT varchar(20),
PRIMARY KEY (REGION_CODE)
)Engine=InnoDB;
CREATE TABLE EMPLOYEE (
EMP_CODE int NOT NULL AUTO_INCREMENT,
EMP_TITLE varchar(4),
EMP_LNAME varchar(15),
EMP_FNAME varchar(15),
EMP_INITIAL varchar(1),
EMP_DOB date,
STR_CODE int NOT NULL ,
PRIMARY KEY (EMP_CODE,STR_CODE),
FOREIGN key (STR_CODE) REFERENCES STORE(STORE_CODE)
) Engine=InnoDB;
CREATE TABLE STORE (
STORE_CODE int NOT NULL AUTO_INCREMENT,
STORE_NAME varchar(20),
STORE_YRD_SALES numeric,
REGION_CODE int,
EMP_CODE int NOT NULL,
PRIMARY KEY (STORE_CODE),
FOREIGN KEY (REGION_CODE) REFERENCES REGION(REGION_CODE),
FOREIGN KEY (EMP_CODE) REFERENCES EMPLOYEE(EMP_CODE)
) Engine=InnoDB;
:これは(
EMPLOYEE
表作成に不足している制約に注意してください)のようなものになるだろう'store'テーブルは存在しませんが、' store'テーブルはまだ存在しません。 – Prisonerテーブルが相互にリンクし、それらが参照するテーブルの後に作成される可能性がある場合は、createステートメントを実行する前に外部キーチェックを無効にする必要があります。後で再び有効にすることを忘れないでください。 – gabe3886