delete tableName from ...from ... 这两个form是怎么回事?
DD88 2005-10-26 12:49:08 今天看见一个SQL语句:
delete from ... from ...
感觉很奇怪,于是试写了一下.
设两个表结构如下
test1
t1ID | t1Name
---------------
2 | 张三
3 | 李四
test2
t2ID | t2Name
---------------
7 | 王五
执行下列语句
delete from Test1
from ((select * from Test1) t1
join
(select * from Test2) t2
on t1.t1ID = t2.t2ID)
那么, Test1表数据没有被删除任何一条
但是, 如果Test2表数据如下:
t2ID | t2Name
---------------
2 | 王五
那么Test1表中的两条数据都被删除了~~
---------------------------------
不知道这个写法可不可以这么理解: 如果两表某字段存在相同数据, 那么就清空其中一个表的所有数据.
真奇怪~~
在mysql中试了, mysql 不支持这种from ... from的古怪写法...