2015-11-20 47 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 –