ホームページ > データベース > mysql チュートリアル > SQL INSERT ステートメントで「列数が値数と一致しません」エラーが発生するのはなぜですか?

SQL INSERT ステートメントで「列数が値数と一致しません」エラーが発生するのはなぜですか?

Susan Sarandon
リリース: 2024-12-13 22:34:11
オリジナル
830 人が閲覧しました

Why Does My SQL INSERT Statement Result in a

SQL データ インポート中の予期しないエラー: "列数が値数と一致しません"

データをインポートしようとしているときデータベースの場合、「列数が行 1 の値数と一致しません」というエラー メッセージが表示される場合があります。この複雑な問題は、挿入する値の数がターゲット テーブルの列の数と一致しない場合に発生する可能性があります。

次の SQL コードを考えてみましょう:

INSERT INTO wp_posts VALUES(5, 5, '2005-04-11 09:54:35', '2005-04-11 17:54:35')<br>

これを実行しようとすると、前述のエラーが発生する場合があります。原因を理解するために、構文を分解してみましょう。

  • INSERT INTO wp_posts...: このステートメントは、wp_posts テーブルにデータを挿入することを指定します。
  • (5, 5、「2005-04-11 09:54:35」、 '2005-04-11 17:54:35'): これらは、挿入しようとしている値です。

ここで、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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート