У меня есть структура таблицы ниже для таблицы друзей
КОНСТРУКЦИЯ СТОЛА
CREATE TABLE `my_friends` (
`first_user_id` int(10) unsigned NOT NULL,
`second_user_id` int(10) unsigned NOT NULL,
`approved` tinyint(1) NOT NULL DEFAULT '0',
`request_sent` int(10) unsigned DEFAULT NULL,
`request_approved` int(10) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
и
DATA
insert into `my_friends` values (4,1,1,null,null);
insert into `my_friends` values (7,8,1,null,null);
insert into `my_friends` values (1,7,1,null,null);
insert into `my_friends` values (2,7,1,null,null);
insert into `my_friends` values (4,2,1,null,null);
Чтобы получить всех друзей с идентификатором пользователя "1", я запускаю следующий запрос
ЗАПРОС ПОЛУЧИТЬ ДРУЗЕЙ
SELECT first_user_id user_id, second_user_id friend_id from my_friends where first_user_id=1 and approved=1
union
SELECT second_user_id user_id ,first_user_id friend_id from my_friends where second_user_id=1 and approved=1
и когда я проверяю план объяснения для этого, это выдает
ОБЪЯСНИТЬ ОШИБКУ ПЛАНА
Error
Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints.
Я использую этот запрос в большинстве запросов как подзапрос, и этот вызывает проблему, чтобы проверить план объяснения для всех других запросов