Я пытаюсь решить проблему, унаследованную мной, из-за плохого обращения с различными источниками данных. У меня есть таблица пользователей, которая содержит ОБА хороших и злых пользователей.
create table `users`(
`user_id` int(13) NOT NULL AUTO_INCREMENT ,
`email` varchar(255) ,
`name` varchar(255) ,
PRIMARY KEY (`user_id`)
);
В этой таблице первичный ключ в настоящее время установлен как user_id.
У меня есть другая таблица ('users_evil'), которая содержит ТОЛЬКО злых пользователей (все пользователи из этой таблицы включены в первую таблицу) - идентификаторы user_id в этой таблице НЕ соответствуют тем, которые указаны в первой таблице. *
Я хочу, чтобы все мои пользователи были в одной таблице, и просто отмечали, какие добрые, а какие злые.
Что я хочу сделать, так это изменить таблицу пользователей и добавить столбец («зло») со значением по умолчанию 0. Затем я хочу сбросить данные из моей таблицы «users_evil») и затем выполнить команду INSERT..ON DUPLICATE. КЛЮЧЕВОЕ ОБНОВЛЕНИЕ с этими данными в первой таблице (установка 'evil' = 1, где электронные письма совпадают)
Проблема в том, что для PK задано значение user_id, а не «email».
Любые предложения или даже другая стратегия для успешного достижения этой цели.
Могу ли я запустить этот оператор, но обработать другой столбец как PK только на время действия оператора.