根据另一个表mysql的值在表中插入值

时间:2015-06-11 17:35:39

标签: mysql

我的问题是这样的: 我必须使用包含表'user''phone'的数据库: 这些表之间的连接是表用户中的密钥'iduser'和表phone中的'user'。 在表格电话中我有98个条目,在表格中用户我有1240个条目,如何使用表格用户的iduser在表格电话中使用默认值完成1240,而不重复现在存在的条目?

有办法吗?我必须这样做,因为我只会做一个查询而不是2或3。 谢谢,抱歉我的英语不好。

1 个答案:

答案 0 :(得分:0)

如果我正确地解答了您的问题,可以使用以下简化示例解释此问题:

users中有以下记录:

| 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 );

演示:http://sqlfiddle.com/#!9/94158/2