PHP/MySQL INSERT文について。
PHP/MySQL INSERT文について。
こんばんは。
PHP・MySQLでデータベースへデータの書き込みを試行錯誤しております。
そこで一つどうしても解決出来ない問題(謎)があるので質問させて頂きます。
簡易的な質問内容としては
全てのカラムに対する値の挿入は可能なのに
カラムを指定して値を挿入しようとしたらエラーが出ます。
データベースの設定はテーブル名【TESTtable】
フィールド 種別 NULL 属性/その他
AAA int(6) No UNSIGNED ZEROFILL / auto_increment
BBB int(4) Yes
CCC int(4) Yes
DDD int(4) Yes
PHPでのSQL実行文をしてはの記述としては(値は全て可変で数値を代入します。)
INSERT INTO TESTtable VALUES (last_insert_id(),50,600,50)
とした場合は問題無くテーブルに書き込みされますが
カラムを指定して
INSERT INTO TESTtable (AAA,BBB,CCC,DDD) VALUES (last_insert_id(),50,600,50)
とした場合、書き込みが行われません。
INSERT INTO TESTtable ('AAA','BBB','CCC','DDD') VALUES (last_insert_id(),50,600,50)
INSERT INTO TESTtable (AAA,'BBB','CCC','DDD') VALUES (last_insert_id(),50,600,50)
INSERT INTO TESTtable ('AAA','BBB','CCC','DDD') VALUES (last_insert_id(),'50','600','50')
等、色々試してみましたが不可能でした。
カラムAAAはauto_incrementにりますので毎回書き込みされますが
BBB、CCC、DDDは書き込みが不要の場合もあるので
カラム指定の書き込みは必須となるのですが・・・行き詰ってしまいました・・・。
ご教授頂ければ幸いです。
どうぞ、宜しくお願い致します。
お礼
回答ありがとうございます。 うわああああああああああ そっちの記述でもいけるんですか!! いま、ためしにやってみたらインサートできました。 衝撃です。ショックです。 僕が今まで読んできた本に、 UPDATEはSET、INSERTはvaluesと書かれており、 勝手にUPDATEはSET INSERTはvaluesだと思っていました。 欧米のIT会社が開発した言語が、そんな使い勝手悪いことしないだろうと思い、 もしや別の記述方法があるんではなかろうかと思ってましたが、 やはり、ありましたか。 ここで質問してみてよかったです。 これからは、別の記述方法をもっと疑ってみるようにしてみます。