प्रयास करें 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
की मेज से एक स्तंभ सम्मिलित करना चाहते हैं, तो आप यो शर्त निर्दिष्ट की जरूरत है, तो आप यह सोचते हैं अपने कॉलम आईडी प्राथमिक कुंजी है बाधा त्रुटि नहीं मिलेगा ()
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
जोड़ने के लिए।
स्रोत
2012-08-10 09:10:04
[MySQL मैनुअल] (http://dev.mysql.com/doc/refman/5.5/en/insert-select.html) स्पष्ट रूप से बताता है कि यह संभव है। हालांकि आपका वाक्यविन्यास गलत है। – Jocelyn