hamada
bungu****@leo*****
2004年 5月 26日 (水) 09:33:17 JST
こんにちわ。 On Wed, 26 May 2004 09:00:27 +0900 Katsunori IMAI <imai****@glatt*****> wrote: > auto_incrementはinsertの時だけの話なので、 > updateでそのレコードを0にすることは問題ないです。 ちょっと実験してみました。 > INSERT INTO `manufacturers` ( `manufacturers_id` , `manufacturers_name` , `manufacturers_image` , `date_added` , `last_modified` ) VALUES ('', 'メーカー無し', NULL , '2004-05-26 00:00:00', '2004-05-26 00:00:00'); として行を追加して、この行が148行目になったので > UPDATE `manufacturers` SET `manufacturers_id` = '0' WHERE `manufacturers_id` = '148' LIMIT 1 ; としてこの行のmanufacturers_idを0にしたのち、 $ myisamchk /var/lib/mysql/DATABASE/manufacturers.MYI として調べてみたところ、 > myisamchk: warning: Found row where the auto_increment column has the value 0 > MyISAM-table '/var/lib/mysql/DATABASE/manufacturers.MYI' is usable but should be fixed となりました。 まぁ「エラー」じゃなくて「警告」ですし、「ちゃんと使えます(usable)」と出 てますんで、特に気にしなくてもいいのかもしれませんが。 (実は当方、以前に似た様な行追加→値変更をやったことがありまして、その時 もこの「警告」がキモチ悪くて該当行を削除した記憶が…) > #ただ、メーカーボックスのプルダウンにも、そのレコードが > #出てくるので、left join の方が良いかも。 あ、そうか。メーカーとして「メーカー無し」が出来ちゃうんですね。確かにそ れは、ちょっと邪魔っけかもしれません。 はまだ