У меня просто
CREATE table1
(
common INT,
var1 VARCHAR,
var2 VARCHAR,
var3 VARCHAR,
var4 VARCHAR,
var5 VARCHAR,
var6 VARCHAR
)
CREATE table2
(
common INT,
var4 VARCHAR,
var5 VARCHAR,
var6 VARCHAR
)
INSERT table1 VALUE(0,"test1","test2","test3",NULL,NULL,NULL)
INSERT table2 VALUE(0,"test4","test5","test6")
Что я пытаюсь получить в 1-й строке таблицы 1 или где обычно = 0:
row1:
common = 0,
var1 = "test1",
var2 = "test2",
var3 = "test3",
var4 = "test4",
var5 = "test5",
var6 = "test6"
Вместо этого я получаю:
row1:
common = 0,
var1 = "test1",
var2 = "test2",
var3 = "test3",
var4 = NULL,
var5 = NULL,
var6 = NULL
row2:
common = 0,
var1 = NULL,
var2 = NULL,
var3 = NULL,
var4 = "test4",
var5 = "test5",
var6 = "test6"
Я пытался использовать оператор INSERT INTO .. SELECT, но получал только новые строки, а не новые данные в строках таблицы table1, где common = 0
INSERT INTO table1 (table1.var4,table1.var5,table1.var6)
SELECT table2.var4, table2.var5, table2.var6
FROM table2
WHERE common = 0
Я понимаю, почему это только добавляет строку, но Есть ли способ обновить существующую строку новыми строками и данными из другой таблицы более или менее таким же образом?