mysql 删除另一个表中的_mysql – 在一个查询SQL中删除两个表中的记录
我有兩張桌子
EMPGROUP_TBL
SEQID | MASTERID | BUSINESS_UNIT | DIVISION | SUB_DIVISION | CLASSIFICATION | SUB_CLASSIFICATION
和
EMP_MASTERTBL
MASTERID | EMPNO | LASTNAME | FIRSTNAME | JOBTITLE | LOCATION |
在我的ASP.NET JOBTITLE表中,BUSINESS_UNIT,DIVISION,SUB_DIVISION,CLASSIFICATION和SUB_CLASSIFICATION在一起.
因此,當我必須刪除girdview中的記錄時,我只需要刪除EMP_MASTERTBL中的JOBTITLE和EMPGROUP_TBL中的所有記錄.
這是我的代碼
DELETE em.JOBTITLE, eg.BUSINESS_UNIT, eg.DIVISION, eg.SUB_DIVISION, eg.CLASIFFICATION, eg.SUB_CLASSIFICATION
FROM EMP_MASTERTBL AS em, EMPGROUP_TBL AS eg
WHERE em.MASTERID = eg.MASTERID AND eg.MASTERID = '76196'
每次我運行或執行我的代碼時都會出現錯誤,即“,”附近的語法不正確.
我為我的代碼嘗試了不同的方法,但它仍然是相同的.
我也嘗試過這個
DELETE JOBTITLE FROM EMP_MASTERTBL WHERE MASTERID = '76196';
DELETE FROM EMPGROUP_TBL WHERE MASTERID = '76196'
但是我得到了一個無效的對象名稱’JOBTITLE’.錯誤.
可能是什么問題呢?謝謝.
最佳答案 當您從某個表中刪除而不是從特定字段中刪除時,是否要刪除整行.這就是為什么在編寫delete語句時不包含字段名稱的原因.
也可以在兩個表之間建立外鍵關系,這樣當您從EMP_MASTERTBL中刪除它時,它也會刪除EMPGROUP_TB中的子記錄. http://www.mysqltutorial.org/mysql-on-delete-cascade/
編輯
仔細閱讀更新后的問題,我想你真正想做的是:
UPDATE EMP_MASTERTBL
SET JOBTITLE = NULL
WHERE MASTERID = '76196';
DELETE FROM EMPGROUP_TB
WHERE MASTERID = '76196';
也就是說,您將JOBTITLE設置為NULL,并刪除EMPGROUP_TB中的所有相關記錄.
總結
以上是生活随笔為你收集整理的mysql 删除另一个表中的_mysql – 在一个查询SQL中删除两个表中的记录的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: firefox是什么浏览器_Seleni
- 下一篇: mysql table keys_MyS