Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

apakah insert berdasarkan pilih pada salah satu kolom di MySQL mungkin?

Coba INSERT...SELECT pernyataan

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

jika kolom Anda ID adalah auto incremented , Anda tidak perlu menentukan 1 atau itu akan menyebabkan Anda error.

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.

Poin lainnya adalah, jika Anda hanya ingin menyisipkan satu kolom dari student tabel, Anda perlu menentukan kondisinya, sehingga Anda tidak akan mendapatkan kesalahan kendala (dengan asumsi ID kolom Anda adalah Kunci Utama )

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

PERBARUI 1

Melihat komentar Anda, Anda memiliki pertanyaan ini

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

Anda perlu menghapus user_id kolom di atas ATAU Anda perlu menambahkan sebuah ID dalam pernyataan pilih Anda untuk mencocokkan jumlah kolom.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana saya bisa mengimpor data ke database mysql melalui meja kerja mysql?

  2. Perbedaan antara tipe data float dan desimal

  3. laravel fasih mengurutkan berdasarkan hubungan

  4. MySQL - Menghapus Beberapa Tabel Tertentu Dari Database Besar

  5. Kesalahan Sintaks MySQL pada Pembuatan Tabel