Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Chèn giá trị vào bảng tùy thuộc vào giá trị của bảng mysql khác

Nếu tôi hiểu câu hỏi của bạn một cách chính xác, vấn đề này có thể được giải thích bằng cách sử dụng ví dụ đơn giản dưới đây:

Có các bản ghi sau trong bảng users :

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

và có các bản ghi sau trong bảng phone chỉ dành cho hai người dùng:

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

và bạn muốn chèn bản ghi bằng một số điện thoại "mặc định", hãy nói 111-222-333 cho những người dùng không có trong bảng đó (người dùng 1, 3 và 4), và cuối cùng, bảng sẽ trông như thế này:

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

Nếu có, hãy sử dụng truy vấn sau:

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

Bản trình diễn: http://sqlfiddle.com/#!9/94158/2




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cấu trúc MySQL cho bản dịch

  2. Vui lòng cho ví dụ kết nối JavaFX MySQL

  3. Chọn các hàng từ bảng có cùng giá trị cho một trường

  4. Làm cách nào để ngăn chặn việc đưa SQL vào PHP?

  5. PDO:Chi phí của cuộc gọi chuẩn bị () trong một vòng lặp?