2012-01-25 16 views
110

मैं एक कॉलम मान को एक कॉलम से दूसरे में कैसे बना सकता हूं? मेरे पास है:एक ही तालिका में एक कॉलम से दूसरे में मूल्यों की प्रतिलिपि बनाएँ

Database name: list 
number | test 
123456 | 123456 
123486 | 123486 
232344 | 232344 

मैं क्या mysql क्वेरी होना चाहिए:

Database name: list 
number | test 
123456 | somedata 
123486 | somedata1 
232344 | 34 

मैं करना चाहते हैं?

उत्तर

249
UPDATE `table` SET test=number 
+14

यह उन दुर्लभ मौकों में से एक है जहां डेवलपर्स ने लेमेन की तरह सोचा है। – Zaxter

+3

यह दिखाता है कि अद्यतन की समझ कितनी खराब है। –

+3

सावधान रहें यदि आप 'अपडेट कमांड' से अपरिचित हैं ... ** बिना ** कहां, यह आदेश तालिका में ** ** ** ** अपडेट करेगा। – gmo

8

इस प्रयास करें:

update `list` 
set `test` = `number` 
+0

'सूची' डीबी नाम नहीं है? –

+2

शायद। मुझे लगता है कि यह एक टाइपो है। –

+0

सूची

user2439124

23
UPDATE `table_name` SET `test` = `number` 

आप भी इस प्रक्रिया में किसी भी गणितीय बदलाव करते हैं या MySQL कार्यों का उपयोग मानों को संशोधित कर सकते हैं।

UPDATE `list` SET `test` = `number` 

यह "संख्या" से सभी मूल्यों की प्रतिलिपि बनाता है और यह पेस्ट करने के लिए ":

-6

आप प्रक्रिया के साथ यह कर सकते हैं भी तो मैं निम्नलिखित इस

DELIMITER $$ 
CREATE PROCEDURE copyTo() 
     BEGIN 
       DECLARE x INT; 
      DECLARE str varchar(45); 
       SET x = 1; 
      set str = ''; 
       WHILE x < 5 DO 
       set str = (select source_col from emp where id=x); 
      update emp set target_col =str where id=x;  
      SET x = x + 1; 
       END WHILE; 

     END$$ 
    DELIMITER ; 
+11

ऐसा लगता है कि केआईएसएस सिद्धांत सादा मृत है ... – NemoStein

+0

यहां KISS का अर्थ है "इसे सरल, बेवकूफ रखें" – nitinr708

1

कोशिश के लिए एक प्रक्रिया है परीक्षण "

1

मेरे लिए काम किया निम्नलिखित ..

  1. सुनिश्चित करें कि आप अपने क्वेरी संपादक एप्लिकेशन में सेफ़-मोड का उपयोग नहीं कर रहे हैं। यदि आप हैं, तो इसे अक्षम करें!
  2. फिर एक मेज के लिए एसक्यूएल आदेश

निम्नलिखित कहते हैं, 'test_update_cmd' चलाने के लिए, स्रोत मान स्तंभ col2, लक्ष्य मूल्य स्तंभ col1 और हालत स्तंभ col3: -

UPDATE test_update_cmd SET col1=col2 WHERE col3='value'; 

शुभ लाभ!

1

सावधान: अद्यतन कॉलम के आदेश महत्वपूर्ण

अच्छा है: क्या मैं चाहता हूँ PrevStatus

को स्थिति की मौजूदा मूल्य की बचत होती है
UPDATE Collections SET PrevStatus=Status, Status=44 WHERE ID=1487496; 

खराब: स्थिति & PrevStatus दोनों के रूप में अंत 44

UPDATE Collections SET Status=44, PrevStatus=Status WHERE ID=1487496; 
संबंधित मुद्दे

 संबंधित मुद्दे