如何避免在MySQL中插入重复的行?

为了避免在MySQL中插入重复的行,可以使用UNIQUE()。语法如下-

ALTER TABLE yourTableName ADD UNIQUE(yourColumnName1,yourColumnName2,...N);

为了理解上述语法,让我们创建一个表。 

创建表的查询如下-

mysql> create table avoidInsertingDuplicateRows

   -> (

   -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,

   -> FirstValue int,

   -> SecondValue int

   -> );

现在使用desc命令检查表的描述。 

查询如下-

mysql> desc avoidInsertingDuplicateRows;

示例以下是输出-

+-------------+---------+------+-----+---------+----------------+

| Field       | Type    | Null | Key | Default | Extra          |

+-------------+---------+------+-----+---------+----------------+

| Id          | int(11) | NO   | PRI | NULL    | auto_increment |

| FirstValue  | int(11) | YES  |     | NULL    |                |

| SecondValue | int(11) | YES  |     | NULL    |                |

+-------------+---------+------+-----+---------+----------------+

3 rows in set (0.00 sec)

这是避免在MySQL中插入重复行的查询。我们将使用insert命令设置它以在表中插入记录-

mysql> insert into avoidInsertingDuplicateRows(FirstValue,SecondValue) values(10,20);

mysql> insert into avoidInsertingDuplicateRows(FirstValue,SecondValue) values(10,20);

ERROR 1062 (23000): Duplicate entry '10-20' for key 'FirstValue'

使用select语句显示表中的所有记录。 

查询如下-

mysql> select *from avoidInsertingDuplicateRows;

这是输出-

+----+------------+-------------+

| Id | FirstValue | SecondValue |

+----+------------+-------------+

| 1  | 10         | 20          |

+----+------------+-------------+

1 row in set (0.00 sec)

以上是 如何避免在MySQL中插入重复的行? 的全部内容, 来源链接: utcz.com/z/316213.html

回到顶部