Mysql 根据另一个表的值在表中插入值
我的问题是这样的: 我必须使用一个包含表Mysql 根据另一个表的值在表中插入值,mysql,Mysql,我的问题是这样的: 我必须使用一个包含表'user'和'phone'的数据库: 这些表之间的连接使用表用户中的键'iduser'和表电话中的键'user'。 在table phone中我有98个条目,在table user中我有1240个条目,如何使用table user的iduser在table phone中使用默认值完成1240,而不重复现在存在的条目 有办法吗?我必须这样做,因为我只会做一个查询,而不是2或3。 感谢并为我糟糕的英语感到抱歉。如果我正确地回答了你的问题,这个问题可以用下面的
'user'
和'phone'
的数据库:
这些表之间的连接使用表用户中的键'iduser'
和表电话中的键'user'
。
在table phone中我有98个条目,在table user中我有1240个条目,如何使用table user的iduser在table phone中使用默认值完成1240,而不重复现在存在的条目
有办法吗?我必须这样做,因为我只会做一个查询,而不是2或3。
感谢并为我糟糕的英语感到抱歉。如果我正确地回答了你的问题,这个问题可以用下面的简化示例来解释:
表
用户
中有以下记录:
| iduser |
|--------|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
表phone
中只有两个用户有以下记录:
| user | phone |
|------|-------------|
| 2 | 123-343-444 |
| 5 | 222-444-363 |
您希望为不在该表中的用户(用户1、3和4)插入带有“默认”电话的记录,例如111-222-333
,最后该表应如下所示:
| user | phone |
|------|-------------|
| 1 | 111-222-333 |
| 2 | 123-343-444 |
| 3 | 111-222-333 |
| 4 | 111-222-333 |
| 5 | 222-444-363 |
如果是,则使用以下查询:
INSERT INTO phone( user, phone )
SELECT iduser, '111-222-333'
FROM user
WHERE iduser NOT IN ( SELECT user FROM phone );
演示:谢谢!!我所做的一切非常有用。