本文へスキップ
BecomeCoder

SQLのエラー · エラー10

sub-select returns N columns - expected 1 ― サブクエリの列数が合わない

= のように1つの値を期待する場所に、複数の列を返すサブクエリを書くと出ます。

出るコード

SELECT name FROM users
WHERE id = (SELECT id, name FROM users WHERE id = 1);   -- サブクエリが2列返している

エラーメッセージ

Parse error: sub-select returns 2 columns - expected 1

直し方

サブクエリの SELECT を1列だけにします(SELECT id FROM users WHERE id = 1)。複数の列が必要なら JOIN に書き換えることも検討します。