This答案接近我的需要,但我的情况略有不同。我有一个SQL表看起来像这样。
+------+----------+-----------+
| aid | afname | alname |
+------+----------+-----------+
| 01 | John | Doe |
| 02 | Stephen | Williams |
| 03 | Jane | Doe |
| 04 | Peter | Brown |
| 05 | | |
+------+----------+-----------+
现在我需要克隆/复制具有 02 afname
的行中的alname
和aid
字段,然后将其插入到行中aid
05 。
这是我尝试的查询,但它会抛出语法错误。
INSERT INTO table1(afname, alname)
WHERE aid = '05'
SELECT afname, alname
FROM table1
WHERE aid = '02'
有人可以告诉我一种方法来实现这个目标吗?
非常感谢。
答案 0 :(得分:3)
如果您没有aid
='05'的行:
INSERT INTO table1(aid,afname, alname)
SELECT '05', afname, alname
FROM table1
WHERE aid = '02'
如果你有aid
='05'的行,并且想要更新它:
update t2
set t2.afname = t1.afname, t2.alname = t1.alname
from table1 t1 join table1 t2 on t1.aid = '02' and t2.aid = '05'