2017-12-26 14 views
2

注:)これはよく尋ねられるエラーですが、ほとんどの場合、問題はINSERTです。このエラーがUPDATE中に起こったこのウェブサイト上の質問を見つけることができませんでした。)MySQLのUPDATE文が「カラム数が値のカウントと一致しません」エラー

を私は他の人の間で、持っているRESULTSと呼ばれるMySQLの(InnoDB内のテーブル/ V。5.7.19)を持って、2つの列がTYPEと呼ばれ、 STATUS。両方ともタイプENUMであり、PASS,FAILおよびIGNOREの両方がサポートされています。

update `RESULTS` set `TYPE`='IGNORE' where `STATUS`='IGNORE'; 

私はこのエラーを取得しています:

Error Code: 1136. Column count doesn't match value count at row 1 
を私はワークベンチを使用して、そのテーブルの上にこの UPDATEステートメントを実行しようとしている(また、mysqlコマンドを使用して、直接DBマシン上で同じことを試してみました)

一重引用符を二重引用符に変更することは役に立ちませんでした。私は正常にこのクエリを実行することができるよ:

select count(`TYPE`) from `RESULTS` where `STATUS`='IGNORE'; 

を私はおそらくここに愚かな間違いを犯してんだけど、誰もがUPDATE文を使用して、間違っているものを指摘することができますか?

+4

更新前/更新後に登録されたトリガーを探します。 –

+0

クエリが正しいです。問題はテーブル/データベースの構成に含まれている必要があります。 – yarwest

+1

[ERROR 1136:列の数が行1の値の数と一致しません](https://stackoverflow.com/questions/7557307/error-1136-column-count-doesnt-match-value-count-at) -row-1) –

答えて

1

私は答えとして投稿しています。

エラーは基本的には属性のセットに対して操作を実行するのと同じように自明ですが、クエリで指定された値は十分ではありません。しかし、あなたのケースでは、すべての属性とその値を使用して操作を実行して更新していますが、このエラーは、おそらくイベント前/後にこのテーブルに登録されているトリガーがある可能性があります。必要でない場合は、そのトリガを更新または削除します。

関連する問題