2016-05-02 15 views
-1

編集する必要があるゲームサーバーデータベースには比較的大きなデータベースがあります。以下の例は、プレーヤーのIDの横の1列の例として各プレーヤーに割り当てられています。SQLの問題!列編集作業

[[`weaponexample`,1], 
[`weaponexample2`,1], 
[`weaponexample3`,1], 
[`weaponexample3`,1]] 

私は何をする必要があることは質量の番号ではないことを念頭に置いて、この [ベアリングを形成するための構文を無効にすることなく、その列のすべてのプレーヤーに新しいライン、

[`weaponexample7`,1], 

を追加しています問題]:

[[`weaponexample`,1], 
[`weaponexample2`,1], 
[`weaponexample7`,1], 
[`weaponexample3`,1], 
[`weaponexample3`,1]] 

誰かが私にこれを行うコマンドを手伝ってもらえますか?

+0

クロス・アプライを見てください。 – Yatrix

+1

どのDBMSを使用していますか? –

+0

カンマ区切りの値を1つの列に格納しないでください。正規化されていないカラムを扱うために、Postgresの 'string_to_array()'を調べてください。 –

答えて

0

使用しているDBMSについて言及していないため、あなたのイニシアチブを使用して、ケースに当てはまる正確な構文を調整する必要があります。あなたは、CHR(10)+ CHR(13)のようなものを使用するだけでなく中に交換する必要があります改行はあなたの例のテキストどおりの武器の間で重要な場合

'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 

:ような何かを行います。 DBMSと要件に関する詳細を確認すると更新できます。

+0

あなたの返信をありがとう、遅い返事をお送りいただきありがとうございます。私のDBMSはphpmyadminです。 –

+0

@ LakeSereni私はmysqlの専門家ではありませんが、変更されていないはずです。それを試しましたか? –