插入数据从一个表到另一个导致重复

问题描述:

我有table1与列(id,id_user)和table2与列(id,用户名)。 用户在表2中注册。所以我想要在table1.id_user中插入新注册用户的table2.id插入数据从一个表到另一个导致重复

我有这个疑问:

INSERT INTO table1 (id_user) SELECT id FROM table2; 

但结果是:

例如我在table1.id

id 
1 
2 
3 

当新用户在表2注册table1.id外观像这样:

id 
1 
2 
3 
1 
2 
3 
4 

并且每次有新的注册用户时它都会重复所有数据。 我该如何解决这个问题,只添加新注册的用户?

+0

您也可以在ID上放置一个主键/唯一约束,以便尝试插入相同的值会导致重复的键约束;从而失败。 – xQbert 2012-04-14 17:40:15

​​

如果您使用数据库触发器,则可以自动从table2的table1中插入新的用户ID。

+0

thx作品完全像我想要的 – 2012-04-14 17:13:18

使用max关键词。在你的情况下工作。

" INSERT INTO table1 (id_user) SELECT max id FROM table2" 
+0

这也适用于:) – 2012-04-14 17:14:35

+0

只有当只有一个新用户。 – MatBailie 2012-04-14 17:40:11