2016-04-07 134 views
0

すべてが、私は私のフロントエンドでこのエラーを取得しています突然、その後、正常に動作しているように見えたが返されます。ワークベンチの下MySQLエラーコード:1242サブクエリが複数の1行

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[21000]: Cardinality violation: 1242 Subquery returns more than 1 row' in /var/www/html/system/home.php:78 Stack trace: #0 /var/www/html/system/home.php(78): PDOStatement->execute() #1 {main} thrown in /var/www/html/system/home.php on line 78

私が持っていたすべてのVIEWをMysql Error code: 1242 Subquery returns more than 1 row.

エラーを出すコードの例を以下に示します。

SELECT 
    `teams`.`id` AS `id`, 
    `teams`.`name` AS `team_name`, 
    `teams_and_captains_view`.`captain` AS `captain`, 
    IF((`teams`.`gender` = 'M'), 
     'Male', 
     'Female') AS `gender`, 
    (SELECT 
      `categories`.`name` 
     FROM 
      `categories` 
     WHERE 
      (`categories`.`id` = `teams`.`category_id`)) AS `category`, 
    `teams`.`category_id` AS `category_id`, 
    `teams`.`slogan` AS `slogan`, 
    `teams`.`location` AS `location`, 
    `teams`.`description` AS `description`, 
    `teams`.`phone` AS `phone`, 
    `teams`.`email` AS `email`, 
    `teams`.`tournament_id` AS `tournament_id`, 
    (SELECT 
      COUNT(`players`.`id`) 
     FROM 
      `players` 
     WHERE 
      (`players`.`team_id` = `teams`.`id`)) AS `players`, 
    `teams_and_captains_view`.`captain_id` AS `captain_id` 
FROM 
    (`teams` 
    LEFT JOIN `teams_and_captains_view` ON ((`teams`.`id` = `teams_and_captains_view`.`id`))) 

LIMITを使用すると動作するようですが、LIMITは使用できません。

は、事前にありがとうあなたのサブクエリは、比較のために1行よりも多くの を返す場合

+1

あなた 'categories'テーブルは、おそらく同じ' id'で重複する行が含まれています。重複を削除して 'id'をプライマリキーにしてみてください – FuzzyTree

+0

サブセレクションを使って擬似カラムを作成しているので、__must__は1つの値しか返しません - カラムは1つの行に複数の値を持つことはできません。 LIMITを使用できない場合は、間違ったアプローチを選択した可能性があります。あなたの質問には、テーブル構造、サンプルデータ、予想される出力、あるいはあなたが実際にここで達成しようとしていることに関する説明が含まれていないので、どちらが適しているかは分かりません。 – CBroe

+0

私はFuzzyTreeここに。クエリが正常に表示されるため、説明されているデータベースの矛盾でなければなりません。 –

答えて

2

エラーコード1242が返されます。

誤って重複したデータが挿入されていないか確認してください。

http://dev.mysql.com/doc/refman/5.7/en/subquery-errors.html

+0

「teams_and_captains_view」のサブクエリの1つが重複した結果を返していました。私はその見方に変更を加え、すべてが今働いています – Heri

関連する問題