Vraag Kopieer waarden van de ene kolom naar de andere in dezelfde tabel


Hoe kan ik een kopie van de waarden van de ene kolom naar de andere maken? Ik heb:

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

Ik wil hebben:

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

Welke mysql-vraag zou ik moeten hebben?


123
2018-01-25 11:28


oorsprong


antwoorden:


UPDATE `table` SET test=number

272
2018-01-25 11:30



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

U kunt ook wiskundige wijzigingen in het proces aanbrengen of MySQL-functies gebruiken om de waarden te wijzigen.


23
2018-01-25 11:30



probeer dit:

update `list`
set `test` = `number`

8
2018-01-25 11:30



PAS OP : Volgorde van updatekolommen is van cruciaal belang

GOED: Wat ik wil bewaart de bestaande waarde van status voor PrevStatus

UPDATE Collections SET  PrevStatus=Status, Status=44 WHERE ID=1487496;

SLECHT: Status & PrevStatus eindigen beide als 44

UPDATE Collections SET  Status=44, PrevStatus=Status WHERE ID=1487496;

3
2017-11-02 16:40



probeer het volgende:

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

het maakt een kopie van alle waarden van "nummer" en plak het op "testen"


1
2018-02-16 14:29



Het volgende werkte voor mij ..

  1. Zorg ervoor dat u de Veilige modus niet gebruikt in uw queryeditor-toepassing. Als dat zo is, schakel het dan uit!
  2. Voer vervolgens de opdracht sql uit

voor een tabel zeg, 'test_update_cmd', bronwaarde kolom col2, doel   waarde kolom col1 en voorwaarde kolom col3: -

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

Succes!


1
2018-03-30 10:26



je kunt het ook met de procedure doen dus ik heb hier een procedure voor

 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 ;

-6
2017-09-04 10:22