这有效:
UPDATE tracks
SET (artist, lyrics) =
('Last, First', 'none yet')
WHERE id = 127;
这有效:
UPDATE tracks
SET lyrics =
(SELECT lyrics FROM tracks WHERE id = 64)
WHERE id = 127;
这个人返回错误(lyrics) =
附近)
UPDATE tracks
SET (artist, lyrics) =
(SELECT artist, lyrics
FROM tracks
WHERE id = 64)
WHERE id = 127;
如何以外部查询可以使用的格式返回子查询?
答案 0 :(得分:2)
UPDATE tracks
SET (artist, lyrics) =
(SELECT artist, lyrics
FROM [Put your table name here]
WHERE id = 64)
WHERE id = 127;
答案 1 :(得分:2)
您忘记将表格放入查询中:
UPDATE tracks
SET (artist, lyrics) =
(SELECT
artist,
lyrics
FROM #your_tablename_here
WHERE id = 64)
WHERE id = 127;
编辑: 尝试分隔您的更新字段。见下文:
UPDATE tracks
SET artist = (SELECT artist FROM tracks WHERE id = 64),
lyrics = (SELECT lyrics FROM tracks WHERE id = 64)
WHERE id = 127;
答案 2 :(得分:0)
我是这样做的:
UPDATE tracks
JOIN (/* Derived table */
SELECT tx.artist, tx.lyrics
FROM tracks tx
WHERE id = 64
) dt
SET tracks.artist=dt.artist, tracks.lyrics = dt.lyrics
WHERE id = 127;