MYSQLのレコードを上書きしたいのですが…
phpからMYSQL5に接続して以下のようなデータベースを作りました。
no name comment ←カラム名
1 山田 起きる
2 山田 叫ぶ
3 山田 寝る
これを上書きして、
no name comment
1 山田 食べる
2 山田 遊ぶ
3 山田 寝る
というようにレコードを更新したいのです。
しかし、どうやっても1、2、3の後に4、5、6と続いてしまいます。
「no」カラムにはauto_increment+primary keyを設定しています。
phpで構文を送る前に
mysql_query("alter table db1 auto_increment=0");
を設定してみたり、
mysql_query("insert into db1 (name,comment) value ('山田','$comment')");
や
mysql_query("replace into db1 (name,comment) value ('山田','$comment')");
を試してみましたが、上手く行きませんでした。
現在は、
mysql_query("delete from db1");
mysql_query("alter table db1 auto_increment=0");
---php処理---
mysql_query("insert into db1 (name,comment) value ('山田','$comment')");
というように、二度目の書き込みを行う前に一旦テーブル内のレコードを
すべて削除して書きなおすという方法を取っています。
しかし、数が多くなると一旦削除する作業を行うと処理が遅くなってしまうと思いますので、上書きしてデータベースを更新したいと思っているのですが、どのようにすればよいでしょうか?
お礼
2つの方法のどこが違うのか よく分かっていなかったのですが、 この回答で理解できたと思います。 大変参考になりました。 ありがとうございます。