因此,我得到一个表名users
,其中包含字段名称country
和字段名称id
我还有一个表名Players
,其字段名称为gameID
(user_id
上的用户ID为id users
我希望UPDATE
gameID
在Players
STEAMID_0xxxx
STEAMID_1xxxxx
country
users is = uk
UPDATE Players
set steamid=steam_1
WHERE steamid=steamid_0 AND country = ( SELECT country
from users
where country=pt )
时更改steam_0:1:2345 to steam_1:1:2345
Steam_0* ?
来自表{{1}}
我尝试这样的事情:
{{1}}
所以我的第一个疑问是,如何更改单词的一部分(例如:{{1}})它也是{{1}},我该如何选择国家/地区?我的理论看起来很愚蠢:|
我知道这是错的,也许你可以指出我正确的方向
提前谢谢
答案 0 :(得分:1)
您需要JOIN
反对users
才能获得该国家/地区:
要将steam_0
换成steam_1
,您可以使用REPLACE()
字符串函数:
UPDATE
Players
JOIN users ON Players.user_id = users.id
SET
/* REPLACE() the beginnging steamid_0 with steamid_1 */
steamid = REPLACE(steamid, 'steamid_0:', 'steamid_1:')
WHERE
/* The whole subquery can then be replaced with this: */
users.country = 'pt'
/* Not strictly necessary... */
AND LEFT(steamid, 10) = 'steamid_0:'