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

có thể chèn dựa trên lựa chọn trên một trong các cột trong MySQL không?

Thử INSERT...SELECT tuyên bố

INSERT INTO student_fees(id, name, fees) 
SELECT ... -- put here the SELECT STATEMENT with condition

nếu cột của bạn ID auto incremented , bạn không cần phải chỉ định 1 nếu không nó sẽ gây ra lỗi cho bạn.

INSERT INTO student_fees(name, fees) 
SELECT `name`, '200$' 
FROM students         -- this will select all students on the table
                      -- and add $200 on thier fees.

Một điểm khác là, nếu bạn chỉ muốn chèn một cột từ student của bảng, bạn cần chỉ định điều kiện, vì vậy bạn sẽ không gặp lỗi ràng buộc ( giả sử ID cột của bạn là Khóa chính )

INSERT INTO student_fees(name, fees) 
SELECT `name`, '200$' 
FROM   students
WHERE  columnName = 'blahBlah'

CẬP NHẬT 1

Xem bình luận của bạn, bạn có truy vấn này

INSERT INTO coupon_allotment (page_id, offer_id, coupon_code, user_id) 
SELECT page_id, 4, 'ABC'        -- number of columns mismatch, right?
FROM pages_discounts_association 
WHERE discount_id = 4

bạn cần xóa user_id cột trên HOẶC bạn cần thêm một ID trong câu lệnh đã chọn của bạn để khớp với số cột.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL truy vấn tham số C # với mệnh đề `in`

  2. golang gorm Truy cập truy vấn mysql cơ bản

  3. Thay thế giá trị trong một chuỗi được phân tách bằng dấu phẩy trong MySQL?

  4. Phân tích cú pháp mặc dù cột MySQL để trích xuất dữ liệu

  5. Tôi có thể tạo tệp .htaccess động không?