次のSQLステートメント:
SELECT
profile_pic
FROM
(`member`)
WHERE
`active` = 1
次の結果が生成されます。
profile_pic
1_1345694557.jpg
<blank_value>
<blank_value>
<blank_value>
「空白の値」をデフォルトで「no_prof_thumb.jpg」にします。
だから私はこのステートメントを作成しました:
SELECT
REPLACE(IF (CHAR_LENGTH(profile_pic) > 0, profile_pic, 'no_prof.jpg' ), '.jpg', '_thumb.jpg') AS profile_pic
FROM
(`member`)
WHERE
`active` = 1
結果は次のとおりです。
profile_pic
1_1345694557_thumb.jpg
no_prof_thumb.jpg
no_prof_thumb_thumb.jpg
no_prof_thumb_thumb_thumb.jpg
_thumb
前の行の値に自分自身を追加し続けるのはなぜですか?
どうすれば表現を修正できますか?
アップデート
この問題は、GoDaddymySQLデータベースで発生します。SQLyogを介してリモート接続するとき、およびGoDaddyにログインしてphpMyAdminを介して実行するときに再現します。
ただし、ローカルでもsqlFiddleでも再現できません。
したがって、これはある種の構成の問題である必要があります。