Heim >Datenbank >MySQL-Tutorial >sql server的 update from 语句的深究_MySQL

sql server的 update from 语句的深究_MySQL

WBOY
WBOYOriginal
2016-06-01 13:05:02961Durchsuche

一般来说update一个表, 使用where语句即可:

代码如下:


UPDATE Ttest SET
    statusInd = 'ACTIVE' 
WHERE
    id = 123

注意:

update 语句后面的table名称,是不可以启用别名的。
那么此时的id字段,就是来自Ttest表的(无可厚非)

但是,如果update,还有额外的join table 条件约束,语句如下:

代码如下:


UPDATE Ttest SET
    statusInd = 'ACTIVE'
FROM
    Tparent parent
WHERE
    Ttest.id = 123
AND Ttest.parentId = parent.id
AND parent.statusInd = 'ACTIVE'

代码如下:


UPDATE Ttest SET
    statusInd = 'ACTIVE'
FROM
    Ttest parent,
    Ttest
WHERE
    Ttest.id = 123
AND Ttest.parentId = parent.id
AND parent.statusInd = 'ACTIVE'

解释:

其需求是:修改自身的statusInd属性,得关联其parent的statusInd属性是否也是'ACTIVE'
update 后面的表(Ttest)不能,命名别名!
from 后面的表 也是 Ttest,但是 要update的Ttest 记录 和 from Ttest 记录并不一样 (要update 孩子,但是要from 关联其父亲)

from 后面 要多写 一个 没有别名的 Ttest ,用来指定此表的记录,就是要被update的。
而需要from join的 (Ttest)表,就必须有一个别名,来区别与update的表(Ttest)

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn