我正在尝试解决我因对不同数据源处理不当而继承的问题。我有一个包含好用户和坏用户的用户表。
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的列('evil')。然后我想从我的'users_evil')表中转储数据,然后运行INSERT..ON DUPLICATE KEY UPDATE将此数据放入第一个表中(在电子邮件匹配的地方设置 'evil'=1)
问题是“PK”设置为 user_id 而不是“电子邮件”。任何建议,甚至是成功实现这一目标的另一种策略。
我可以运行此语句,但仅在语句期间将另一列视为 PK。