如何使mysql中的一对列唯一

Kir*_*ash 3 php mysql codeigniter

+----+---------------+-------+---------------+
| id |     name      | phone |    ip_addr    |
+----+---------------+-------+---------------+
|  1 | customname001 |  1234 | 192.168.100.1 |
|  2 | customname002 |  2156 | 192.168.100.2 |
|  3 | customname003 |  9685 | 192.168.100.3 |
|  4 | customname004 |  1546 | 192.168.100.1 |
|  5 | customname005 |  1234 | 192.168.100.1 |
+----+---------------+-------+---------------+
Run Code Online (Sandbox Code Playgroud)

在我的 codeigniter 项目中,我试图构建一个模型,它将帮助我将新行插入到与上面类似的表中。我在这里要应用的条件是检查姓名、电话和 ip_addr 的组合是否唯一。

我知道对于单个列,如果我们将值设置为唯一,那么这些值就不能重复,但我的示例是不同的情况,我希望所有列(除了 id 之外)的组合是唯一的。

任何人都可以帮助我构建模型,该模型将帮助我添加新的姓名、电话和 ip_addr 对,并检查该对是否已存在并相应地给出反馈。

M. *_*and 5

ALTER TABLE `table` ADD UNIQUE `unique_index`(`name`, `phone`, `ip_addr`);
Run Code Online (Sandbox Code Playgroud)