插入数据从一个表到另一个导致重复
我有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
并且每次有新的注册用户时它都会重复所有数据。 我该如何解决这个问题,只添加新注册的用户?
如果您使用数据库触发器,则可以自动从table2的table1中插入新的用户ID。
thx作品完全像我想要的 – 2012-04-14 17:13:18
使用max
关键词。在你的情况下工作。
" INSERT INTO table1 (id_user) SELECT max id FROM table2"
这也适用于:) – 2012-04-14 17:14:35
只有当只有一个新用户。 – MatBailie 2012-04-14 17:40:11
您也可以在ID上放置一个主键/唯一约束,以便尝试插入相同的值会导致重复的键约束;从而失败。 – xQbert 2012-04-14 17:40:15