我的表格有这样的布局
1 2 3 4 5
1 1 1 1
2 2 2 2
第二行和第三行中的最后一列已留空。它们应该包含一个字符串。所以我写了这个SQL插入表
INSERT INTO MyTable (5) VALUES ('This is the string');
但是这给我留下了
1 2 3 4 5
1 1 1 1
2 2 2 2
NULL NULL NULL NULL This is the string
这显然不是我的意图。我该如何解决这个问题?
答案 0 :(得分:3)
您需要使用UPDATE
来更改现有行:
CREATE TABLE #tab([1] INT, [2] INT, [3] INT , [4] INT, [5] VARCHAR(100));
INSERT INTO #tab([1],[2],[3],[4]) VALUES (1, 1, 1, 1),(2 ,2, 2, 2);
UPDATE #tab
SET [5] = 'This is the string'
WHERE [5] = '' OR [5] IS NULL;
SELECT *
FROM #tab;
的 LiveDemo
强>
答案 1 :(得分:1)
给它一个旋转...
UPDATE MyTable
SET 5 = 'This is a string'
WHERE COALESCE(5, '') = '' -- only update where 5 is currently NULL or blank, i.e. ''
INSERT - 向表中添加新行
更新 - 更改表格中现有行的值