ysql語句一次性修改多個字段呢?
方法一:使用SET關鍵字
使用SET關鍵字可以一次性修改多個字段,其語法如下:
UPDATE 表名 SET 字段1=值1,字段2=值2,字段3=值3 WHERE 條件;
例如,我們有一張學生表,需要將小明的姓名修改為張三,年齡修改為18歲,性別修改為男性,那么可以使用以下語句:
tameder='男性' WHERE id=1;
方法二:使用CASE WHEN語句
使用CASE WHEN語句可以根據不同的條件修改不同的字段,其語法如下:
UPDATE 表名 SET 字段1=CASE WHEN 條件1 THEN 值1 WHEN 條件2 THEN 值2 ELSE 值3 END, 字段2=CASE WHEN 條件1 THEN 值4 WHEN 條件2 THEN 值5 ELSE 值6 END WHERE 條件;
例如,我們有一張訂單表,需要將已完成的訂單的狀態修改為“已發貨”,未完成的訂單的狀態修改為“等待處理”,那么可以使用以下語句:
UPDATE order SET status=CASE WHEN status='已完成' THEN '已發貨' ELSE '等待處理' END WHERE id IN (1,2,3);
以上兩種方法都可以一次性修改多個字段,可以根據實際情況選擇使用。使用SET關鍵字可以簡單明了地修改多個字段,使用CASE WHEN語句可以根據不同的條件修改不同的字段,更加靈活。