-3
我是新來的PHP/SQL,我得到一個與外鍵的行語法錯誤。語法錯誤外鍵
語法錯誤或訪問衝突:1064
$createQuery ="CREATE TABLE AthleteTable
(
athleteID INT(6) NOT NULL AUTO_INCREMENT,
lastName VARCHAR(20) NOT NULL,
firstName VARCHAR(30) NOT NULL,
gender CHAR(1) NOT NULL,
image VARCHAR(20) NOT NULL,
eventID INT(6) NOT NULL,
medal VARCHAR(6) NOT NULL,
CONSTRAINT foreign FOREIGN KEY (eventID) REFERENCES eventsTable(eventID),
PRIMARY KEY(athleteID)
)";
如果有任何人知道什麼是錯的希望得到一些幫助。
------------>
新的錯誤:
inserting data AthleteTable failed SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (
powlz1_in612
.AthleteTable
, CONSTRAINTAthleteTable_ibfk_1
FOREIGN KEY (eventID
) REFERENCESeventsTable
(eventID
))
這裏是我讓表:
$createQuery ="CREATE TABLE eventsTable
(
eventID INT(6) NOT NULL AUTO_INCREMENT,
sport VARCHAR(20) NOT NULL,
event VARCHAR(30) NOT NULL,
PRIMARY KEY (eventID)
)";
$pdo->exec($createQuery);
$createQuery ="CREATE TABLE AthleteTable
(
athleteID INT(6) NOT NULL AUTO_INCREMENT,
firstName VARCHAR(20) NOT NULL,
lastName VARCHAR(20) NOT NULL,
gender VARCHAR(20) NOT NULL,
image VARCHAR(20) NOT NULL,
eventID INT(20) NOT NULL,
medal VARCHAR(6) NOT NULL,
CONSTRAINT SportEvents FOREIGN KEY (`eventID`) REFERENCES eventsTable(`eventID`),
PRIMARY KEY(`athleteID`)
)";
$pdo->exec($createQuery);
看着別人後問題似乎都是一個缺失的領域,但這兩個表都包含一個eventID,所以我不明白爲什麼它失敗了?
我改變了這一點,仍然有錯誤,在另一個文件,當修復解決這個不知何故,謝謝你的錯誤。 – flanelman
它在另一個索引和列準備接受FK的銀行。但是,至少刪除了你的1064 – Drew
得到了一個新的錯誤,1452.任何想法是什麼原因造成的?我已經編輯了原來的帖子:) – flanelman