【问题标题】:Delete from two table从两个表中删除
【发布时间】:2014-10-29 07:35:35
【问题描述】:

我想一次从两个表中删除数据。

示例

表 1:

create table del1
(
cola varchar(10) primary key,
colb varchar(10)
);

表 2:

create table del2
(
cola varchar(10) foreign key references del1(cola) on delete cascade,
colb varchar(10)
)

插入一些数据:

insert into del1 values('a','b');
insert into del2 values('a','d');

查询删除记录:

delete from del1 as d1
inner join del2 as d2
on d1.cola= d2.cola 
where d1.cola= 'a'

错误

Incorrect syntax near the keyword 'as'.

【问题讨论】:

标签: sql-server sql-server-2008-r2


【解决方案1】:

其实你不需要加入这两个表的。 deletedel1 表 上它会自动删除 del2 表,因为你有 on delete cascade

这就是你需要的。

delete from del1 where cola='a'

此语句将从 del1 where cola='a' 和 del2 table where cola='a' 中删除

【讨论】:

    【解决方案2】:

    不需要加入。由于On Cascade delete,它将删除两条记录

    delete from del1 where  cola= 'a'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-01
      • 2016-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-15
      相关资源
      最近更新 更多