Mysql
 sql >> база данни >  >> RDS >> Mysql

възможно ли е вмъкване въз основа на избор на една от колоните в MySQL?

Опитайте INSERT...SELECT изявление

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

ако вашата колона ID се auto incremented , не е нужно да указвате 1 или в противен случай ще ви причини грешка.

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.

Друг момент е, ако искате да вмъкнете само една колона от student таблица, трябва да посочите условието, така че няма да получите грешка при ограничение (ако приемем, че ID на вашата колона е първичен ключ )

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

АКТУАЛИЗАЦИЯ 1

Виждайки вашия коментар, имате тази заявка

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

трябва да отстраните user_id колона по-горе ИЛИ трябва да добавите ID във вашия оператор select, за да съответства на броя на колоните.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP MySQL търсене и подреждане по релевантност

  2. Грешка при актуализиране на MySQL данни чрез PHP

  3. Сравнете две MySQL бази данни

  4. Самообединяване и рекурсивна селекция в таблица

  5. динамично маршрутизиране на код за запалване