2015-11-20 46 views
0

我有一个表info算法比较多个领域

CREATE TABLE `info` (
    `id` int(11) NOT NULL DEFAULT '0', 
    `name` varchar(50) NOT NULL, 
    `email` varchar(50) NOT NULL, 
    `phone` varchar(50) NOT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8 

可比的字段名称,电子邮件和电话。

我的比较规则是:三个字段中的任何两个相等,然后两个记录相等。

所以我的问题是什么是实现此功能的最有效的方式。

P.S.如果需要,我可以添加额外的字段。

回答

1

MySQL返回1为真,0为假。

Select * From info 
WHERE (name = 'name') + (email = 'email') + (phone = 'phone') > 1 
+0

我认为OP希望建立在创建表本身 –

+0

约束有了这个'where'条款,如何添加以提高搜索性能的指标? –

+0

阅读此索引的详细信息http://dev.mysql.com/doc/refman/5.7/en/mysql-indexes.html @ChongYoung –