首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

SQL UPDATE 清空特定字段值:DELETE 子句誤用與正確語法

     編輯:程式設計綜合問答

需求

表 Data 中,將 DataID=24 的 D_Dac_Time 字段清空(置 NULL 或空串),其他字段不變。

錯誤嘗試


DELETE D_Dac_Time FROM Data WHERE DataID = 24; -- 語法錯誤:DELETE 刪除行,不刪除列

正確語法:UPDATE SET NULL / 空串


-- 置 NULL(推薦,語義清晰)
UPDATE Data SET D_Dac_Time = NULL WHERE DataID = 24;

-- 置空串(若字段非 NULL 且業務要求空串)
UPDATE Data SET D_Dac_Time = '' WHERE DataID = 24;

關鍵區別

操作SQL 關鍵字影響
刪除整行DELETE FROM table WHERE ...行消失,主鍵不可用
清空某列UPDATE table SET col = NULL WHERE ...行保留,該列置空
刪除列定義ALTER TABLE table DROP COLUMN col結構變更,數據永久丟失

批量清空示例


-- 清空符合條件的多行
UPDATE Data SET D_Dac_Time = NULL WHERE DataID IN (24, 25, 26);

-- 條件複雜
UPDATE Data SET D_Dac_Time = NULL 
WHERE DataID = 24 AND Status = 'Expired';

記住:修改列值用 UPDATE ... SET col = value,DELETE 只能刪行。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved