sql >> データベース >  >> RDS >> Mysql

MySQLでVALUESステートメントを使用する場合の「エラー1136(21S01):列数が行2の値数と一致しない」を修正

    ERROR1136(21S01):列数が行2の値数と一致しません」のようなエラーが発生した場合 」VALUESを使用する場合 MySQLのステートメント、これはおそらくROW()で指定された列の数に不一致があるためです 条項。

    このエラーを修正するには、すべてのROW()が 句にはまったく同じ数の列が含まれています。

    エラーの例

    エラーが発生するコードの例を次に示します。

    VALUES ROW(1, 2), ROW(3);

    結果:

    ERROR 1136 (21S01): Column count doesn't match value count at row 2

    この場合、最初のROW()で2つの値を渡しました。 ただし、2番目の値は1つだけです。

    それがエラーの原因です。

    解決策

    エラーを修正するには、すべてのROW()を確認するだけです。 句には同じ数の値が含まれています。

    例:

    VALUES ROW(1, 2), ROW(3, 4);

    結果:

    +----------+----------+
    | column_0 | column_1 |
    +----------+----------+
    |        1 |        2 |
    |        3 |        4 |
    +----------+----------+
    その他のエラーの原因

    INSERTを使用する場合にも同じエラーが発生する可能性があります 間違った数の列をテーブルに挿入するステートメント。

    このような場合は、正しい行数を挿入してください。または、テーブルに含まれるよりも少ない列にデータを挿入するために、データを挿入する列に明示的に名前を付けることができます。


    1. SQLServerの一時テーブルの概要

    2. 赤方偏移で現在の合計を計算する方法

    3. MYSQLで2つの文字列間の類似性を計算する方法

    4. JPAおよびHibernateを使用して読み取り専用トランザクションと読み取り/書き込みトランザクションを分割する方法