Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 在一个查询SQL中删除两个表中的记录_Mysql_Sql_Vb.net - Fatal编程技术网

Mysql 在一个查询SQL中删除两个表中的记录

Mysql 在一个查询SQL中删除两个表中的记录,mysql,sql,vb.net,Mysql,Sql,Vb.net,我有两张桌子 EMPGROUP_TBL SEQID | MASTERID | BUSINESS_UNIT | DIVISION | SUB_DIVISION | CLASSIFICATION | SUB_CLASSIFICATION 及 在ASP.NET JOBTITLE中的我的表格中,业务单元、部门、子部门、分类和子分类一起显示 因此,当我必须删除girdview中的记录时,我只需要删除EMP_MASTERTBL中的JOBTITLE和EMP Group_TBL中的所有记录 这是我的密码 DE

我有两张桌子

EMPGROUP_TBL
SEQID | MASTERID | BUSINESS_UNIT | DIVISION | SUB_DIVISION | CLASSIFICATION | SUB_CLASSIFICATION

在ASP.NET JOBTITLE中的我的表格中,业务单元、部门、子部门、分类和子分类一起显示

因此,当我必须删除girdview中的记录时,我只需要删除EMP_MASTERTBL中的JOBTITLE和EMP Group_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中删除时,它也会删除EMP_TB中的子记录

编辑

仔细阅读你的最新问题后,我认为你真正想做的是:

UPDATE EMP_MASTERTBL
   SET JOBTITLE = NULL
   WHERE MASTERID = '76196';

DELETE FROM EMPGROUP_TB
   WHERE MASTERID = '76196';

也就是说,您正在将
JOBTITLE
设置为NULL,并删除
EMPGROUP_TB

中的所有相关记录,但是如果我使用DELETE FROM EMPGROUP_TB,其中MASTERID='76196';EMPGOUP TBL中的所有记录都将被删除吗?包括姓氏等?@chobowski整个记录包括所有细节都将被删除。见修改后的答案。如果是这样的话。如果您想要什么,那么“删除”不是正确的操作。
您不能在一条语句中从多个表中删除
我非常不同意的语句,您当然可以。例如,表的内部或左侧连接…@mendosi非常感谢您的帮助。我得到了我想要的输出。@Zaggler是的,你是对的。我已经相应地编辑了我的答案。您必须先在主表上运行两个独立的
delete
查询,然后在其他表上运行。您不能使用delete查询删除列。可以使用Update查询将值替换为null,为什么不使用Update?
UPDATE EMP_MASTERTBL
   SET JOBTITLE = NULL
   WHERE MASTERID = '76196';

DELETE FROM EMPGROUP_TB
   WHERE MASTERID = '76196';