php - 检查表中是否存在逗号分隔值

标签 php mysql

我有一张表:users_group

id | group_id | user_ids
---|----------|---------
1  |   1      | 3
2  |   1      | 2
3  |   3      | 2
4  |   2      | 3
5  |   2      | 4
6  |   2      | 2

条件是user_ids只能插入一次。但在上述情况下,它是为多个 group_id 插入的。

我正在使用此查询在 foreach 循环中插入 users_id 字段: 插入 users_group (group_id, user_ids) VALUES(2,3)

如何防止插入重复的 user_ids

有没有更好的查询方式?

最佳答案

是的,有更好的方法来解决这个问题,但解决方案并不意味着查询。

您应该创建一个名为 user_id 的新列,而不是 user_id 列,并像这样添加数据:

id | group_id | user_id
1  |   1      | 3
2  |   1      | 4
3  |   2      | 3
4  |   2      | 4
5  |   2      | 2
6  |   3      | 2
7  |   3      | 3
8  |   3      | 4

这称为多对多 关系,它使一切变得更容易。之后你只需要 JOIN 表;

关于php - 检查表中是否存在逗号分隔值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32649354/

相关文章:

php - 从 MS SQL 中的 PHP PDO 存储过程返回 Select *

php - 替换php文件中的变量

php - 使用 php 从数据库中的数据创建超链接

php - 使用 PHP、Ajax 和 Jquery 更改密码

javascript - 如何在页面加载时打开外部存储模式

php - 将多个 oauth 帐户链接到单个用户 : what's considered safe practice and what's not?

c# - 仅在 Entity Framework 中的 LINQ to MySql 中按日期部分分组

mysql - 我如何授予对一个特定 mysql 表的远程访问权限?

php - JQuery POST 只向 mysql 添加一次记录

php - 如何从 mysqli 结果构建正确的 json?