簡體   English   中英

如何獲取MySQL表以相互更新?

[英]How do I get MySQL tables to update each other?

我是編程新手,請原諒我的無知。 我正在嘗試使MySQL表相互更新。 例如:當我將數據插入一個表的“主鍵”列中時,它沒有出現在另一表的“外鍵”列中。

有沒有人對此問題有任何建議?

謝謝!

附加信息:我使用phpMyAdmin創建了我的表,然后添加了SQL代碼來創建外鍵。 代碼示例如下。

ALTER TABLE CourseSchedule
ADD FOREIGN KEY (CourseId)
REFERENCES Course(CourseId)

我相信我們在這里只是對文檔略有誤解。

對於支持外鍵的存儲引擎,如果父表中沒有匹配的候選鍵值,則MySQL拒絕任何試圖在子表中創建外鍵值的INSERT或UPDATE操作。

當UPDATE或DELETE操作影響子表中具有匹配行的父表中的鍵值時,結果取決於使用FOREIGN KEY子句的ON UPDATE和ON DELETE子句指定的引用操作。 MySQL支持有關要采取的操作的五個選項,在此處列出

您的外鍵實際上所做的是確保您不能在CourseSchedule表中插入與Courses表中的條目不對應的值。

舉一個例子,假設您嘗試在每個星期三的9:00輸入“計划python課程”,但是您的Courses表中實際上沒有python條目。 然后mysql將拒絕創建該條目。 MySQL不能做相反的事情。 它不知道有關您的python課程的詳細信息。 因此,它無法為您自動在“課程”表中創建一個條目。 同樣,如果oyu在courses表中創建了一個entr。 Mysql無法自動為您創建CourseSchedule,因為它不知道應該在什么時間進行計划。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM