只有当两个字段不匹配,但是主键自动递增时才可以插入吗?

时间:2018-03-15 04:55:21

标签: mysql sql

我目前在表格中有3个字段:

id,client_id,username

client_id和username组合永远不应该是重复的。最初的想法是使用client_id和username的复合主键。然而,这不允许我的" ID"字段自动递增,因为它不是主要的。

如果我要将我的ID添加到我的复合材料中,那么永远不会有重复,因为ID总是在变化。

我最新的是基本的:

"INSERT IGNORE INTO users (client_id, username) VALUES(cid,username)"

有没有办法检查client_id和用户名是否与以前的任何记录匹配,如果是,那么不要添加它们?以上不起作用。

3 个答案:

答案 0 :(得分:2)

ALTER TABLE yourTable
ADD CONSTRAINT constraint_name UNIQUE ( client_id ,username);

答案 1 :(得分:1)

您可以通过表格中的client_id,username组合添加唯一键。

答案 2 :(得分:0)

您可以像这样创建表格,以便client_id和用户名不会匹配以前的任何记录......

   (<123) [ applyintree (1;1;0) a
┌─────┬───────────────┐
│1 2 3│┌─┬───────────┐│
│     ││4│┌─────┬───┐││
│     ││ ││┌───┐│7 8│││
│     ││ │││123││   │││
│     ││ ││└───┘│   │││
│     ││ │└─────┴───┘││
│     │└─┴───────────┘│
└─────┴───────────────┘