我有一個名爲AQI,與下面的列 唯一約束鍵不調用
只有一個獨特價值date
,pollutant_code
,source_id
和time
能夠存在表,所以我定義了一個唯一的約束條件source_code_time_uq
。
而像
INSERT INTO aqi(source_id, source_type, pollutant_code, "date", "time", aqi_value)
VALUES (4, 1 ,'PM2.5','2018-05-28',8, 789)
ON CONFLICT ON CONSTRAINT source_code_time_uq
DO UPDATE SET
aqi_value = 789
的UPSERT查詢的UPSERT方法,正常工作時,所有的現場可用的,但是當我在time
柱放NULL
(在企圖使該行代表一個整體AQI數據日),source_code_time_uq
約束不會被調用,並且它仍會插入一個新行。
那麼如何在字段上添加唯一的約束檢查,也可以是NULL
,我需要更新我的upsert查詢嗎?
這是真正的SQL Server?語法看起來不像。 –