可以使用IFNULL函數(shù)來實(shí)現(xiàn)SQL的條件更新。IFNULL函數(shù)接受兩個(gè)參數(shù),如果第一個(gè)參數(shù)不為空,則返回第一個(gè)參數(shù)的值,否則返回第二個(gè)參數(shù)的值。通過結(jié)合IFNULL函數(shù)和UPDATE語(yǔ)句,可以實(shí)現(xiàn)條件更新的效果。
例如,假設(shè)有一個(gè)表格users
,包含id
和name
兩個(gè)字段,現(xiàn)在要更新name
字段的值為“新名字”,但只更新那些name
字段的值不為空的記錄??梢允褂靡韵耂QL語(yǔ)句實(shí)現(xiàn):
UPDATE users
SET name = IFNULL(name, '新名字')
WHERE name IS NOT NULL;
這樣就會(huì)將name
字段不為空的記錄的值更新為“新名字”,而那些name
字段的值為空的記錄則不會(huì)被更新。