आपको कुछ प्रकार के INSERT...SELECT
क्वेरी।
अपडेट करें (स्पष्टीकरण के बाद): उदाहरण के लिए, यहां t2
. में एक पंक्ति डालने का तरीका बताया गया है यदि संबंधित पंक्ति t1
. में पहले से मौजूद नहीं है :
INSERT INTO t2 (v)
SELECT temp.candidate
FROM (SELECT 'test' AS candidate) temp
LEFT JOIN t1 ON t1.v = temp.candidate
WHERE t1.v IS NULL
एक ही क्वेरी के साथ कई पंक्तियों को सम्मिलित करने के लिए, मुझे डर है कि इससे बेहतर कुछ नहीं है
INSERT INTO t2 (v)
SELECT temp.candidate
FROM (
SELECT 'test1' AS candidate
UNION SELECT 'test2'
UNION SELECT 'test3' -- etc
) temp
LEFT JOIN t1 ON t1.v = temp.candidate
WHERE t1.v IS NULL
मूल उत्तर
उदाहरण के लिए, इसमें other_column
लगेगा table1
. की सभी पंक्तियों से जो WHERE
. को संतुष्ट करता हो खंड और पंक्तियों को table2
. में सम्मिलित करें column_name
. के रूप में उपयोग किए गए मानों के साथ . यह डुप्लीकेट कुंजी त्रुटियों को अनदेखा कर देगा।
INSERT IGNORE INTO table2 (column_name)
SELECT table1.other_column
FROM table1 WHERE table1.something == 'filter';