mysql:13048
From: 高橋政利 <高橋政利 <takahashi@xxxxxxxxxx>>
Date: Fri, 02 Jun 2006 10:49:04 +0900
Subject: [mysql 13048] Re: insertに関して
高橋と申します。 私自身も、初心者の域を脱し切れていないのですが・・・。 ERROR 1136: Column count doesn't match value count at row 1 はフィールドの数と値の数が合ってないというエラーだと思います。 INSERT 文を良く見て下さい。 >$sql = "insert into member values(0, '$hiduke', '$id', '$shamei', >'$gyoutai', '$gyoushu'. '$jigyou', '$setsuritsu', '$shihon', '$uriage', >'$shainsuu', '$nam', '$yu1', '$yu2', '$todoufuken', '$shikugun', '$juusho', >'$url', '$mail1', '$tel', '$fax', '$renraku_mail', '$renraku_tel', >'$renraku_fax')"; '$gyoushu' の後がカンマでなくドットになっています。 この手のミスはよくあることです。 konさんのアドバイスの意味は、フィールド数が多くなるとその度に、テーブル の並びを確認しながら、SQL文を作成するのは手間なので、フィールド名を明示 させてあげた方が、楽ちんだよ。という意味ではないのでしょうか? また、テーブルの一部分だけを指定してインサートないしアップデートさせたい 場合には、有効な方法です。スクリプト側の都合(テーブルのフィールド順に処 理すると、ソース管理が煩雑になる)で、必ずしもフィールド順にSQL文を書い た方が良いとも限りませんし、あとでフィールドを増やす場合、順番の変更を行 いやすくなりますよ。 野口様のSQL文の場合は、 insert into table名 ($field1名, $field2名, $field3名, ・・・・) VALUES ($field1値, $field2値, $field3値, ・・・・); てな具合でどうでしょうか? kon様のようなSQL文の書き方は、私自身も知りませんでした。 UPDATE文の場合は、そのように書いていたのですが・・・・。 参考になりました。ありがとうございました。
13043 2006-06-02 00:02 ["chappuru21 chappuru] insertに関して 13044 2006-06-02 00:47 ┣[<milk_coffee_2004jp@] 13045 2006-06-02 09:44 ┃┗["chappuru21 chappuru] 13046 2006-06-02 10:12 ┃ ┣[Seiichi YANAI <yanai] -> 13048 2006-06-02 10:49 ┃ ┗[高橋政利 <takahashi@] 13049 2006-06-02 12:07 ┃ ┗["chappuru21 chappuru] 13047 2006-06-02 10:43 ┗["Takashi Yamashita" ]