PhP4.2 mysql4 に関して


mysqlにて。
下記の3つのカラムを作りました。
(オート番号) ,(名前) ,(番号)
------------------------
オート番号 名前 番号
1    太郎  h001
2    花子  h002
3     さとる h003
4    みどり 
5    太郎  
------------------------

上記で、現在「みどり」と「太郎」のカラム「番号」が空白です。
空白のカラム「番号」のレコードにh004とh005を入れるにはどのようなスクリプトを書けばいいでしょうか?
※オート番号は登録される順に、1、2,3・・と増えます。
このオート番号を利用して空白に数字を埋める(h004など)スクリプトをおねがいします。

どなたか詳しい方ご教授おねがいします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:2007/06/19 11:40:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:studioes No.1

回答回数523ベストアンサー獲得回数61

ポイント27pt

$rslt = mysql_query("SELECT (オート番号) FROM table WHERE (番号) = ''");

while($row = mysql_fetch_array($rslt)){

mysql_query("UPDATE table SET (番号) = 'h".sprintf("%03d", $row['(オート番号)'])."' WHERE (オート番号) = {$row['(オート番号)']}");

}

tableはテーブル名を入れてください。

http://q.hatena.ne.jp/

id:rrr3

ありがとうございます。

下記スクリプトを付け加える場合はどのようになりますでしょうか?

①もし、カラム「番号」に空がある場合は

 ↓

 オート番号を参考にh001・・・を入れる

もしカラム「番号」に空がある場合は。というスクリプトをおねがいします。

2007/06/12 12:16:24
id:studioes No.2

回答回数523ベストアンサー獲得回数61

ポイント27pt

WHERE (番号) = ''の時点で、番号=空白を選択していますよ。

http://q.hatena.ne.jp/

id:rrr3

ありがとうございます!!!

2007/06/12 12:26:03
id:chuken_kenkou No.3

回答回数722ベストアンサー獲得回数54

ポイント26pt

UPDATEを1回実行するだけで可能です。

update t1
 set 番号=concat('h',lpad(オート番号,3,'0'))
 where 番号=''

http://q.hatena.ne.jp/

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません