php - 如何在不检查每个值(如果存在)的情况下防止重复记录

标签 php mysql arrays

我知道如果你想防止在你的表中重复输入数据,你可以通过一个简单的查询来检查该值是否存在

SELECT `id` FROM TABLE WHERE `title` == 'test'

我也知道 PHP 无法在 1 个查询中处理多个 SQL 请求,例如:

SELECT `id` FROM TABLE WHERE `title` == 'test1'
SELECT `id` FROM TABLE WHERE `title` == 'test2'
SELECT `id` FROM TABLE WHERE `title` == 'test3'

所以一个解决方案是将'test1''test2''test3'放入一个数组中,循环它并执行同样的查询连续 3 次。

但我想要完成的是仅在不存在具有相同数据的另一行的情况下插入一行。应该有比这种方法更好的方法。

// if (!$row_exists) {
INSERT INTO table_name (a, b, c) VALUES (1, 2, 3) 

最佳答案

为所有必要的列创建一个 UNIQUE 索引。 MySQL 不允许它们重复。

关于php - 如何在不检查每个值(如果存在)的情况下防止重复记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17999864/

相关文章:

php - 将多个记录连接到一行?

php - 关于已保存搜索、程序和安全/性能提示与技巧的电子邮件警报?

php - MySQL根据第一行加载数据

javascript - 卡片按 Y 轴旋转

php - 如何在 Yii2 项目中使用 rectorphp/rector?

php - 使用 $.post 将 JS 变量发送到 PHP 脚本

php - 使用登录的 Laravel 子域重定向

mysql - 在触发器中访问远程 mysql 数据库

ruby - 从字符串数组生成唯一的初始字符串

c++ - 在 C++ 的函数中创建一个没有全局变量的数组