Comment puis-je copier une valeur d'une colonne à une autre? J'ai:
Database name: list
number | test
123456 | somedata
123486 | somedata1
232344 | 34
Je veux avoir:
Database name: list
number | test
123456 | 123456
123486 | 123486
232344 | 232344
Quelle requête mysql devrais-je avoir?
La réponse courte pour le code en question est:
UPDATE `table` SET test=number
Ici table
est le nom de la table et il est entouré d'accent Grave (c.-à-d. Comme c'est le cas de la convention MySQL avec mots-clés d'échappement (et TABLE
est un mot-clé dans celui-ci. Cas).
ATTENTION, c’est une requête assez dangereuse qui effacera tout ce qui se trouve dans la colonne test
de chaque ligne de votre table en le remplaçant par le number
(quelle que soit sa valeur)
Il est plus courant d'utiliser la clause WHERE
pour limiter votre requête à un ensemble de lignes spécifique:
UPDATE `products` SET `in_stock` = true WHERE `supplier_id` = 10
UPDATE `table_name` SET `test` = `number`
Vous pouvez également apporter des modifications mathématiques au processus ou utiliser les fonctions MySQL pour modifier les valeurs.
essaye ça:
update `list`
set `test` = `number`
ATTENTION: L'ordre des colonnes de mise à jour est critique
GOOD: Ce que je veux enregistre la valeur existante du statut dans PrevStatus
UPDATE Collections SET PrevStatus=Status, Status=44 WHERE ID=1487496;
BAD: Status & PrevStatus finissent tous les deux par 44
UPDATE Collections SET Status=44, PrevStatus=Status WHERE ID=1487496;
Après a travaillé pour moi ..
pour une table, par exemple 'test_update_cmd', colonne de valeur source col2, colonne de valeur cible col1 et colonne de condition col3: -
UPDATE test_update_cmd SET col1=col2 WHERE col3='value';
Bonne chance!
essayez de suivre:
UPDATE `list` SET `test` = `number`
il crée une copie de toutes les valeurs de "nombre" et le colle pour "tester"