sql >> Databasteknik >  >> RDS >> Mysql

Infoga värden i tabellen beroende på värden för en annan tabell mysql

Om jag tar bort din fråga korrekt kan detta problem förklaras med nedanstående förenklade exempel:

Det finns följande poster i tabellen users :

| iduser |
|--------|
|      1 |
|      2 |
|      3 |
|      4 |
|      5 | 

och det finns följande poster i tabellen phone endast för två användare:

| user |       phone |
|------|-------------|
|    2 | 123-343-444 |
|    5 | 222-444-363 |

och du vill infoga poster med någon "standard" telefon, säg 111-222-333 för användare som inte finns i den tabellen (användare 1, 3 och 4), och i slutändan borde tabellen se ut så här:

| user |       phone |
|------|-------------|
|    1 | 111-222-333 |
|    2 | 123-343-444 |
|    3 | 111-222-333 |
|    4 | 111-222-333 |
|    5 | 222-444-363 |

Om ja, använd följande fråga:

INSERT INTO phone( user, phone )
SELECT iduser, '111-222-333'
FROM user
WHERE iduser NOT IN ( SELECT user FROM phone );

Demo:http://sqlfiddle.com/#!9/94158/2




  1. Hur gör man time_to_minute i Mysql?

  2. När vi skapar en databas i MySQL med PHP med hjälp av följande kod, var gör vi kopplingen och var gör vi databasen?

  3. MYSQL UNION DISTINKT

  4. Att lägga till främmande nyckel misslyckas i MySQL (fel 150)