仅将查询的最后一个值设置为 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 相同的列数,所以如果没有列 avatarRobots_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 = ?