gpt4 book ai didi

php - mysql - 仅插入其他表中的唯一数据

转载 作者:行者123 更新时间:2023-11-29 19:22:21 26 4
gpt4 key购买 nike

我有 2 个表,我想根据条件将数据从一个表插入到另一个表:

表1:

user_id,
agency_user_id,

表 1 的输出:

user_id   agency_user_id
330 20
330 21
239 10
... ..
239 10
239 12
239 9
表2: 有相同的加上一些我目前不需要的其他列...

用户登录后,他有 2 个下拉菜单,其中一个我列出了 user_id(不是 ID,而是基于 ID 的信息),另一个是 Agency_user_id...

所以问题是我不想有两次:

239 10
239 10

在表 2 中...我只想要一次(唯一)...这是我使用的查询,但它没有按我想要的方式工作:

INSERT INTO table2
(`user_id`,`agency_user_id`)
SELECT `user_id`,`agency_user_id`
FROM table2
WHERE `user_id` AND `agency_user_id` NOT IN (
SELECT `user_id`
FROM table1
);

现在当我检查 table2 中有重复的条目时...我知道我在那个地方做错了......而不是部分......

有什么建议吗?

谢谢。

编辑:我也尝试过这个:

INSERT INTO table2
(`user_id`,`agency_user_id`)
SELECT DISTINCT `user_id`,`agency_user_id`
FROM table2
WHERE `user_id` AND `agency_user_id` NOT IN (
SELECT `user_id`
FROM table1
);

不工作...

表 2 的当前输出

  user_id    agency_user_id
330 20 => ok
330 21 => ok
239 10 => ok
239 10 => not ok
239 12 => ok
239 9 => ok

等等...

最佳答案

您可以尝试使用临时表:

就像下面的例子:

select * from TABLE1;
+------+------+
| a | b |
+------+------+
| 1 | 2 |
| 3 | 4 |
| 1 | 2 |
| 4 | 5 |
+------+------+

如你所见

1 2
1 2

重复

创建临时表:

create temporary table temp1 (a text, b text, c text);

插入:

insert into temp1 select a,b,count(*) from TABLE1 group by a,b;


select * from temp1;
+------+------+------+
| a | b | c |
+------+------+------+
| 1 | 2 | 2 |
| 3 | 4 | 1 |
| 4 | 5 | 1 |
+------+------+------+
3 rows in set (0.00 sec)

终于

insert into table2 (a ,b) select a,b from temp;

select * from table2;
+------+------+
| a | b |
+------+------+
| 1 | 2 |
| 3 | 4 |
| 4 | 5 |
+------+------+
3 rows in set (0.00 sec)

帮过我一次!!!

关于php - mysql - 仅插入其他表中的唯一数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42370744/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com