2012-01-15 10 views
6

मुझे सामग्री को एक डेटाबेस में एक कॉलम से दूसरे में मेल खाने वाले कॉलम में कॉपी करने की आवश्यकता है, ताकि वही सामग्री उसी आईडी के साथ रिकॉर्ड में हो। निम्नलिखित छद्म सामान की तरह कुछ:एक डेटाबेस से दूसरे डेटाबेस में एक कॉलम को कॉपी करें

SET database2.table1.columnA TO database1.table1.columnA WHERE database2.id = database1.id 
+0

आपके पास है एक डेटाबेस और एक कॉलम, लेकिन आपके परिदृश्य में * टेबल * कहां है? –

+0

वे भी समान हैं, इस –

उत्तर

4

आप कर सकते हैं use JOIN in an UPDATE statement:

UPDATE table1 t1 
JOIN database1.table1 as t2 ON 
    t1.id = t2.id 
SET 
    t1.columnA = t2.columnA 
+0

को प्रतिबिंबित करने के लिए संपादित किया गया है मुझे त्रुटि 1064 मिलती है, वाक्यविन्यास त्रुटि –

+0

इसे आज़माएं; मेरे पास mySQL आसान नहीं है इसलिए वाक्यविन्यास अभी भी बंद हो सकता है, लेकिन यह आपको सही रास्ते पर ले जाना चाहिए। –

14

MySQL का उपयोग करता वाक्य रचना:

update database1.table1, database2.table1 
set database1.table1.columnA = database2.table1.columnA 
where database1.table1.id = database2.table1.id; 
+0

धन्यवाद। सिंटेक्स एक्सेस में भी संगत (उसी डीबी में दोनों टेबल)। –

+1

आज रात मैं पहले से अधिक MySQL प्यार करता हूँ। –

3

नहीं तो अन्य लोगों के लिए समान कॉलम आप नीचे उपयोग कर सकते हैं:

USE `old_database`; 
INSERT INTO `new_database`.`new_table`(`column1`,`column2`,`column3`) 
SELECT `old_table`.`column2`, `old_table`.`column7`, `old_table`.`column5` 
FROM `old_table` 
संबंधित मुद्दे