我有一个相对较大的数据库用于我需要编辑的游戏服务器数据库。下面为每个玩家分配以下内容作为其玩家ID旁边的一列中的示例。
[[`weaponexample`,1],
[`weaponexample2`,1],
[`weaponexample3`,1],
[`weaponexample3`,1]]
我需要做的是大量添加新行,
[`weaponexample7`,1],
到该列中的每个玩家,而不会使语法无效以形成此列 [记住编号不是问题]:
[[`weaponexample`,1],
[`weaponexample2`,1],
[`weaponexample7`,1],
[`weaponexample3`,1],
[`weaponexample3`,1]]
有人可以帮我制定一个命令吗?
答案 0 :(得分:0)
您尚未提及您正在使用的DBMS,因此您必须使用您的主动权来调整以下内容,以获得适用于您的情况的确切语法。做类似的事情:
'Update the players who have at least one weapon already i.e. ends with ]]
UPDATE Players
SET Weapons = Replace(Weapons, ']]', '],[`weaponexample7`,1]]');
'Update the players who did not already have a weapon
UPDATE Players
SET Weapons = '[[`weaponexample7`,1]]'
WHERE Weapons = '[]' OR Weapons IS NULL
如果根据你的示例文本,换行符在武器之间很重要,你需要在替换中使用chr(10)+ chr(13)之类的东西。如果您确认有关DBMS和要求的详细信息,我可以更新。