我有两个列的情况,但这两个值的值应该是唯一的。所以,你可以考虑下表跨列唯一值
CREATE TABLE user_details(
id int(11) AUTO_INCREMENT PRIMARY KEY,
email varchar(200),
secondary_email varchar(200),
unique key(email),
unique key(secondary_email)
);
我要的是,电子邮件无法跨email
和secondary_email
列重复的功能。所以给定的电子邮件只能与一个用户连接。我们可以在没有触发器的MySQL中实现它吗?目前,我通过应用程序逻辑来管理它,而且有时很难处理,因为来自不同团队的模块中的不同人员在表中插入/更新数据。
此外,我的用户表是按数百万记录的顺序,也有二次移动的选项。创建第二个(或第三个)2倍大小的表格并加入两个(或三个)表格会加重我的情况。
在此先感谢您的所有投入..
为电子邮件创建一个表,然后在(id,email_id)上做一个唯一键 –