我創建了一個新的數據庫並添加了一些外鍵,因爲我之前沒有在我的數據庫和我的整個網頁有很多問題..這就是爲什麼我決定創建一個新的,我需要的所有外鍵。SQLSTATE [23000]:完整性約束違規:1452無法添加或更新子行:[LARAVEL]
現在我創建了我的網頁上一個新的用戶和它的作品。但如果我試圖創建與該用戶線程,我收到此錯誤信息:
SQLSTATE [23000 ]:完整性約束違規:1452不能添加或更新子行,外鍵約束失敗(Laravel
threads
,約束threads_ibfk_2
外鍵(themen_id
)參考文獻themes
(id
))(SQL:插入threads
(themen_id
,thread
,content
,user_id
,updated_at
,created_at
)值({ID},獨角獸,彩虹,1,2016年3月23日14點11分23秒,2016年3月23日14點11分23秒))
和低於該錯誤,幾乎再次相同的錯誤:
SQLSTATE [23000]:完整性約束違規:1452不能添加或更新子行,外鍵約束失敗(Laravel
。 threads
,約束threads_ibfk_2
外鍵(themen_id
)參考文獻themes
(id
))
好,我沒有不是一個單一的想法,這是什麼意思。我希望有人能幫助我。
這就是我如何創建表:
CREATE TABLE threads
(
id int AUTO_INCREMENT PRIMARY KEY,
user_id int NOT NULL,
themen_id int NOT NULL,
thread varchar (120),
content varchar (1200),
created_at timestamp,
updated_at timestamp,
FOREIGN KEY (user_id) REFERENCES users(id),
FOREIGN KEY (themen_id) REFERENCES themes(id)
);
CREATE TABLE comments
(
id int AUTO_INCREMENT PRIMARY KEY,
thread_id int NOT NULL,
user_id int NOT NULL,
comment text,
created_at timestamp,
updated_at timestamp,
FOREIGN KEY (user_id) REFERENCES users(id),
FOREIGN KEY (thread_id) REFERENCES threads(id)
);
CREATE TABLE themes
(
id int AUTO_INCREMENT PRIMARY KEY,
thema text,
created_at timestamp,
updated_at timestamp
);
CREATE TABLE users
(
id int(10) PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(255),
email VARCHAR(255),
password VARCHAR(60),
remember_token VARCHAR(100),
created_at timestamp,
updated_at timestamp
);
我與Laravel工作,當然我在.ENV文件中更改數據庫名。那麼,我現在不是現在該做什麼。
任何幫助?
謝謝!
'themen_id'需要整數,但錯誤表示您發送了一個字符串'{id}'。 – frz3993
錯誤提示您嘗試使用'themes'中不存在的'themen_id'值將記錄插入到'threads'中。外鍵約束的存在是爲了防止你能夠做到這一點。 – David
沒有「主題」id = {id}這就是你傳遞的內容,這就是外鍵應該引用的內容。 –