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

MySQLでVALUESステートメントを使用する場合の「エラー3942(HY000):VALUES句の各行には少なくとも1つの列が必要」を修正

    ERROR3942(HY000):VALUES句の各行には、少なくとも1つの列が必要です」というエラーが発生した場合 」MySQLでは、VALUESを使用するときに、空の行コンストラクターを使用できます。 ステートメント。

    この問題を修正するには、各ROW()に少なくとも1つの値があることを確認してください VALUES内の句 ステートメント。

    エラーの例

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

    VALUES ROW();

    結果:

    ERROR 3942 (HY000): Each row of a VALUES clause must have at least one column, unless when used as source in an INSERT statement.

    これは非常に単純な例ですが、その単純さは何が悪かったのかを正確に示しています。 VALUESを使用しています ステートメントですが、ROW()が空です。 条項。

    ソリューション

    この問題を修正するには、ROW()に少なくとも1つの値を指定するだけです。 条項:

    VALUES ROW('Jet');

    結果:

    +----------+
    | column_0 |
    +----------+
    | Jet      |
    +----------+

    通常、各ROW()には複数の値が含まれます 句、およびおそらく複数のROW() 句。例:

    VALUES ROW(1, 'Jet', 'Black'), ROW(2, 'Faye', 'Valentine');

    結果:

    +----------+----------+-----------+
    | column_0 | column_1 | column_2  |
    +----------+----------+-----------+
    |        1 | Jet      | Black     |
    |        2 | Faye     | Valentine |
    +----------+----------+-----------+

    いずれにせよ、各ROW()に少なくとも1つの値を提供する必要があります 条項。


    1. 前月または前年度の欠落データを累積的に追加する

    2. MySQL:MySQLルートパスワードをリセットまたは変更するにはどうすればよいですか?

    3. ネイティブ動的SQLを使用して実行されたSELECTステートメントの結果を出力するにはどうすればよいですか?

    4. GUIを使用してMySQLWorkbenchでユーザー権限を確認する方法