表 Data 中,將 DataID=24 的 D_Dac_Time 字段清空(置 NULL 或空串),其他字段不變。
DELETE D_Dac_Time FROM Data WHERE DataID = 24; -- 語法錯誤:DELETE 刪除行,不刪除列
-- 置 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 只能刪行。