私は3つの列を持つMySQLテーブルを持っています。最初はユニークキー(INT(11) AUTO_INCREMENT
)、次はインデックス値(VARCHAR(255)
)、3番目は説明(TEXT
) 。 2番目の列に重複した値がありますが、各行には異なる説明があります。私は、2番目の列が複製されているすべての行を削除したいが、最初のインスタンスに同じインデックス値の各説明を追加し、セミコロンとスペースで文字列を分割する。PHP MySQLは、他の列が重複している列を連結します
例えば、私のテーブルは次のようになります。私はやってPHPスクリプトを使用する有害じゃない
cid | word | description
------------------------------
1 | cat | an animal with wiskers; a house pet; a cool person
3 | dog | a member of the canine family
:
cid | word | description
------------------------------
1 | cat | an animal with wiskers
2 | cat | a house pet
3 | dog | a member of the canine family
4 | cat | a cool person
私はこのように見えるようにテーブルを変更したいですこれはMySQLを好むでしょう。このテーブルには17万行以上の行があり、それをループするのにPHPに長い時間がかかります。
MySQL 5.7は不平を言いますどのようにその番号を選んでいるのかについての論理はないので、ここでは 'cid'について説明します。それは最も低い「cid」値ですか?代替ビューでその列を省略できますか? – tadman