時にはnullまたは空の値を持つ配列があります。 MySqlでは、それらはヌル可能ではないように設定されていますが、デフォルト値が割り当てられています。なぜ、MySqlは私にエラーを与えますか? Column user_type can not be null
。 (私は厳格なモードで実行していない)。このPHP/mysqlのinsert文でnullを処理する方法
私は、クエリを準備するときに値の代わりにキーワードDEFAULTを使用できることを認識していますが、実際にはそれをしたくありません。たとえば、私は使用したいと思います。"INSERT INTO users (user_type, first_name, last_name, password) VALUES (:user_type, :first_name, :last_name, :password)";
私が思い出す限り、これはうまくいきました(つまり、正しいデフォルトで)私が使用するから移動するまで?名前付きパラメータ...
おかげで...
「NULL」であっても、このようにすることはできません:バウンドの際に値*が送られている(全く表示されるため!)と思われます。したがって、値*が指定されたため、MySQLはデフォルト値を適用できません。トリガーはありますが、 "ick!" 1つの「解決策」は、Mapと呼ばれる最小限のクエリージェネレーターを持つことです。 (まだプレースホルダーを使用しています。) –
あなたはPHPについて話していますか?あなたは "Array"について言及しているので、おそらくArrayという言葉に言及する価値はありません –
(同じ挿入構造を持つ '?'マーカーを使って作業していたとは思いません。仕事、どのような魔法を参照してください。) –