parent_table:
ID | FIELD1 | FIELD2
____|________|________
1 |........|......
2 |........|.....
3 |..............
child_table:
ID | FIELD3
___|________
1 | 18
1 | 7
2 | ..
1 | ..
3 | ..
2 | ..
假设我想更新这些表。这是我需要实现的:
UPDATE parent_table SET
FIELD1 = 'XXX',
FIELD2 = 'YYY'
WHERE ID = 2;
DELETE FROM child_table
WHERE ID = 2;
INSERT INTO child_table (ID, FIELD3)
VALUES (2, 50),
VALUES (2, 17),
VALUES (2, 9);
请注意,每个 ID 的子表中的条目数在更新期间可能会有所不同。
是否有可能在一次查询中获得相同的结果?我不能使用交易。
也许前两个查询更容易合并。我尝试在 UPDATE 期间加入子表并设置空值,但我不知道如何处理多行.. 是否可以像嵌套 SELECT 一样嵌套 UPDATE?