外鍵約束對父表的含義:
網站建設哪家好,找創新互聯建站!專注于網頁設計、網站建設、微信開發、微信平臺小程序開發、集團企業網站建設等服務項目。為回饋新老客戶創新互聯還提供了鳳凰免費建站歡迎大家使用!
在父表上進行update/delete以更新或刪除在子表中有一條或多條對應匹配行的候選鍵時,父表的行為取決于:在定義子表的外鍵時指定的on update/on delete子句, InnoDB支持5種方式, 分列如下
. cascade方式
在父表上update/delete記錄時,同步update/delete掉子表的匹配記錄
On delete cascade從mysql3.23.50開始可用; on update cascade從mysql4.0.8開始可用
. set null方式
在父表上update/delete記錄時,將子表上匹配記錄的列設為null
要注意子表的外鍵列不能為not null
On delete set null從mysql3.23.50開始可用; on update set null從mysql4.0.8開始可用
. No action方式
如果子表中有匹配的記錄,則不允許對父表對應候選鍵進行update/delete操作
這個是ANSI SQL-92標準,從mysql4.0.8開始支持
. Restrict方式
同no action, 都是立即檢查外鍵約束
不知道這文章對你有沒有幫助!
格式:update 表名稱 set 字段名稱 = 字段名稱 + 1 [ where語句]
比如說數據庫中有一張student表,要想把id為1的學生成績(score)加1則
update student set score=score+1 where id = 1
如果你不加where系統就不會知道你具體要更新哪條記錄,而導致所有該表中score都增加1,當然,除非這就是你的本意。
用相關聯的參數進行更新,比如關聯的ID,父表中有一個id,子表中也有一個id,這兩個id的值是一樣的,這樣就可以同時更新了
如果是雙字段主鍵,則連接條件里加多一個字段就行了
建議修改如下試一試:
update a.menu_option set a.menu_option.`option_text`
= (select `option_text` from f.menu_option
where a.menu_option.menu_id = f.menu_option.menu_id and
a.menu_option.id = f.menu_option.id)
where exists ( select 1 from f.menu_option where
a.menu_option.menu_id = f.menu_option.menu_id
and a.menu_option.id = f.menu_option.id)
或者這樣寫
update a.menu_option, f.menu_option
set a.menu_option.`option_text`=f.menu_option.`option_text`
where a.menu_option.menu_id = f.menu_option.menu_id
and a.menu_option.id = f.menu_option.id
分享名稱:mysql怎么更新父鍵 mysql怎么更改主鍵
網站鏈接:http://m.kartarina.com/article4/dodsdie.html
成都網站建設公司_創新互聯,為您提供微信小程序、外貿網站建設、關鍵詞優化、用戶體驗、App開發、網站設計
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯