データをインポートしようとしているときデータベースの場合、「列数が行 1 の値数と一致しません」というエラー メッセージが表示される場合があります。この複雑な問題は、挿入する値の数がターゲット テーブルの列の数と一致しない場合に発生する可能性があります。
次の SQL コードを考えてみましょう:
INSERT INTO wp_posts VALUES(5, 5, '2005-04-11 09:54:35', '2005-04-11 17:54:35')<br>
これを実行しようとすると、前述のエラーが発生する場合があります。原因を理解するために、構文を分解してみましょう。
ここで、wp_posts のテーブル定義を調べてみましょう。テーブルが次のような構造になっているとします。
CREATE TABLE `wp_posts` ( `ID` int(11) NOT NULL, `post_author` int(11) NOT NULL, `post_date` datetime NOT NULL, `post_date_gmt` datetime NOT NULL, ... );
ご覧のとおり、wp_posts テーブルには ID、post_author、post_date、post_date_gmt の 4 つの列があります。ただし、挿入しようとしている値は、ID と post_date に対応する 2 つの列のみを指定しています。
この問題を解決するには、以下が必要です。をクリックして、テーブル内の入力するすべての列を指定します。特定の列に値を挿入したくない場合は、NULL キーワードを使用して欠損値を表すことができます。
したがって、wp_posts テーブルにデータを挿入するための正しい構文は次のようになります。
INSERT INTO wp_posts (ID、post_author、post_date、 post_date_gmt)<br>VALUES (5, NULL, '2005-04-11 09:54:35', '2005-04-11 17:54:35')<br>
すべての列を明示的に指定し、必要のない列には NULL を含めます。変更すると、列数の不一致エラーが発生することなく、データベースにデータを正常に挿入できます。
以上がSQL INSERT ステートメントで「列数が値数と一致しません」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。