仅将查询的最后一个值设置为1

问题描述 投票:0回答:1

我为我的rest 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 = ? "
mysql insert union
1个回答
0
投票

您可以使用1作为列wins的值,但是两个联合查询必须返回相同数量的列,因此,如果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 = ?
© www.soinside.com 2019 - 2024. All rights reserved.