[前][次][番号順一覧][スレッド一覧]

mysql:6291

From: "Higashi Kanemitsu" <"Higashi Kanemitsu" <kanemitsu@xxxxxxxxxx>>
Date: Fri, 27 Sep 2002 11:31:17 +0900
Subject: [mysql 06291] insert 後すぐにそのデータを select でよびだすと autoincrement のデータが読めないことがあります。

皆様コメントありがとうございます。
(Reply-To解除しました。)
ヒガシです。長文で失礼します。

予約システムを作製しておりまして、ユーザーが予約すると
予約番号が自動生成(autoincrement)で発行されるようにつくったつもりです。
テーブルは
# テーブルの構造 `date_data`
#

CREATE TABLE date_data (
  data_no int(100) NOT NULL auto_increment,
  yoyakubi date NOT NULL default '0000-00-00',
  date date NOT NULL default '0000-00-00',
  time varchar(20) NOT NULL default '',
  name varchar(40) NOT NULL default '',
  age varchar(5) NOT NULL default '',
  sex varchar(5) NOT NULL default '',
  renraku varchar(10) NOT NULL default '',
  tel varchar(20) NOT NULL default '',
  e_mail varchar(40) NOT NULL default '',
  item varchar(20) NOT NULL default '',
  memo varchar(20) NOT NULL default '',
  bikou varchar(100) NOT NULL default '',
  pass varchar(10) NOT NULL default '',
  PRIMARY KEY  (data_no),
  KEY data_no (data_no)
) TYPE=MyISAM;

です。
プログラムは、PHPで書いています。
//データ登録
mysql_query("insert into
  date_data(
yoyakubi,date,time,name,age,sex,renraku,tel,e_mail,item,memo,bikou,pass)

values('$yoyakubi','$today1','$yoyakutime','$name','$age','$sex','$renraku',
'$tel','$e_mail','$item','$memo','$bikou','$pass')");

//データ番号 data_noはautoincrement機能を用いて、insert文には入っていませ
ん。

//登録した情報を呼び出す。
$result_touroku=mysql_query("select * from date_data
   where name = '$name' and date = '$yoyakubi' and time = '$yoyakutime' ");
 while($row_touroku = mysql_fetch_array($result_touroku)){
$yoyaku_no=$row_touroku["data_no"];
$yoyakubi=$row_touroku["yoyakubi"];
$date=$row_touroku["date"];
$yoyakutime=$row_touroku["time"];
$name=$row_touroku["name"];
$age=$row_touroku["age"];
$sex=$row_touroku["sex"];
$renraku=$row_touroku["renraku"];
$tel=$row_touroku["tel"];
$e_mail=$row_touroku["e_mail"];
$item=$row_touroku["item"];
$memo=$row_touroku["memo"];
$bikou=$row_touroku["bikou"];
$pass=$row_touroku["pass"];
}

//後はこの呼び出したデータをhtmlで表示しています。
<table border=1 width=80%>
<tr><td colspan=3 bgcolor=blue align=center>
<font color=white>予約情報 変更後画面 予約番号:<? echo $yoyaku_no; ?> 番
</font></td></tr>
<tr><td>日付
−−−−−
このようにしています。この時に予約番号のみ表示されません。(他のデータは表示
されます。)
データ番号は、後でみるときちんと記入されています。
<last_insert_id() を使ってますよね?>とのコメントをいただきましたが、これと
関連があるのでしょうか。

初歩的な質問で申し訳ありません。

ヒガシ




[前][次][番号順一覧][スレッド一覧]

      6290 2002-09-27 09:10 ["山崎 昌裕" <yamaza] MySQL のインターフェイスを直接 VC++6.0 で使用する方法
->    6291 2002-09-27 11:31 ┣["Higashi Kanemitsu" ] insert 後すぐにそのデータを select    でよびだすと autoincrement    のデータが読めないことがあります。
      6292 2002-09-27 11:58 ┃┣["kosugi" <kosugi@xxx]                                     
      6294 2002-09-27 12:54 ┃┃┗["Higashi Kanemitsu" ]                                   
      6295 2002-09-27 14:09 ┃┃ ┗["Takashi Yamashita" ]                                 
      6293 2002-09-27 12:00 ┃┣["Takashi Yamashita" ]                                     
      6299 2002-09-27 17:44 ┃┗[Daiju Azuma <daiju_a]                                     
      6300 2002-09-27 21:45 ┃ ┗[<kanemitsu@xxxxxxxxx]                                   
      6296 2002-09-27 14:31 ┗[Takeyuki Miyagawa <m]                                       
      6297 2002-09-27 14:48  ┗["山崎 昌裕" <yamaza]