「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つの値を提供する必要があります 条項。