仅将查询的最后一个值设置为 1
setting only the last value of the query to 1
我为休息写了一个很长的查询 api,它应该只将 wins
的最后一个值设置为 1。
我一直在尝试,但总是出现语法错误。有没有办法在这样的查询中只将一个值设置为 1?
提前致谢
"INSERT INTO danceoffs (id, name, powermove,avatar,wins)
VALUES (,,,,1) SELECT * FROM (SELECT id, name ,powermove,avatar FROM Robots_1
UNION SELECT id, name ,powermove FROM Robots_2) AS U WHERE name = ? "
您可以使用 1
作为列 wins
的值,但是两个联合查询必须 return 相同的列数,所以如果没有列 avatar
在 Robots_2
你可以使用 null
:
INSERT INTO danceoffs (id, name, powermove, avatar, wins)
SELECT U.*, 1
FROM (
SELECT id, name, powermove, avatar FROM Robots_1
UNION
SELECT id, name, powermove, null FROM Robots_2
) AS U
WHERE U.name = ?
我为休息写了一个很长的查询 api,它应该只将 wins
的最后一个值设置为 1。
我一直在尝试,但总是出现语法错误。有没有办法在这样的查询中只将一个值设置为 1?
提前致谢
"INSERT INTO danceoffs (id, name, powermove,avatar,wins)
VALUES (,,,,1) SELECT * FROM (SELECT id, name ,powermove,avatar FROM Robots_1
UNION SELECT id, name ,powermove FROM Robots_2) AS U WHERE name = ? "
您可以使用 1
作为列 wins
的值,但是两个联合查询必须 return 相同的列数,所以如果没有列 avatar
在 Robots_2
你可以使用 null
:
INSERT INTO danceoffs (id, name, powermove, avatar, wins)
SELECT U.*, 1
FROM (
SELECT id, name, powermove, avatar FROM Robots_1
UNION
SELECT id, name, powermove, null FROM Robots_2
) AS U
WHERE U.name = ?