Казалось, что все работает нормально, и вдруг я получаю эту ошибку на моем внешнем интерфейсе:
Неустранимая ошибка: необработанное исключение ‘PDOException’ с сообщением
‘SQLSTATE [21000]: Нарушение мощности: 1242 Подзапрос возвращает больше
чем 1 строка ‘в /var/www/html/system/home.php:78 трассировке стека: # 0
/var/www/html/system/home.php(78): PDOStatement-> execute () # 1 {main}
добавляется в /var/www/html/system/home.php в строке 78
Под Workbench каждый 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.
заранее спасибо
Код ошибки 1242 будет возвращен, когда Ваш подзапрос вернется
более одного ряда для сравнения.
Пожалуйста, проверьте, если вы вставили дубликаты данных по ошибке.
Других решений пока нет …