php - 防止在 MySql 中插入匹配行

标签 php mysql

我在 MySql 数据库中有一个表。我想防止在 MySql 中插入匹配的行。就像我在一个表中有 4 列。我不想插入任何具有这 4 列匹配值的行。我试图在下面证明这一点

My table
----------
 product_name| product_sku |product_quantity| product_price
----------
 Computer    | comp_007    | 5              | 500

我想防止再次插入同一行。我怎样才能使用 MySql 查询来做到这一点?

更新

我不想再插入


 Computer    | comp_007    | 5              | 500

但我想插入下面​​的行


 mouse       | comp_007    | 5               | 500

 Computer    | comp_008    | 5               | 500

 Computer    | comp_007    | 50              | 500

 Computer    | comp_007    | 5               | 100

 mouse       | mou_007     | 5               | 500

最佳答案

在相关列上创建一个组合的唯一键/复合键:

ALTER TABLE `table` ADD UNIQUE (
`product_name` ,
`product_sku` ,
`product_quantity`,
`product_price`
);

任何插入重复行的尝试都会导致 MySQL 错误。

关于php - 防止在 MySql 中插入匹配行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33143887/

相关文章:

mysql - 带有子查询的 SQL SUM 查询

php - 通过电子邮件的用户通知系统

php - Laravel 5.2 中的 "IN"查询

php - 尝试将 PHP imap_open() 与 diff 一起使用。 linux 接口(interface)(eth0 :1, eth0 :2). 有什么想法吗?

php - ERROR 2003 (HY000) 无法连接到本地主机上的 mysql 服务器

php - 如何使用 `include` 传递参数?

php - 无需下载页面即可批量检查http状态代码

处理复杂关系的 SQL 查询

php - 如何将表连接到此 SQL 代码?

php - 使用 PHP 检查 MySQL 中是否存在多行