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中的所有相关记录.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值