Réponses:
La réponse courte pour le code en question est:
UPDATE `table` SET test=number
Voici table
le nom de la table et il est entouré d'un accent grave (aka back-ticks `) car c'est la convention MySQL pour échapper les mots-clés (et TABLE
c'est un mot-clé dans ce cas).
ATTENTION, c'est une requête assez dangereuse qui effacera tout dans la colonne test
de chaque ligne de votre table en la remplaçant par le number
(quelle que soit sa valeur)
Il est plus courant d'utiliser une WHERE
clause pour limiter votre requête à un ensemble spécifique de lignes:
UPDATE `products` SET `in_stock` = true WHERE `supplier_id` = 10
update command
... Sans une clause WHERE , cette commande enregistrera update
TOUS les enregistrements de la table.
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`
list
nom de la base de données?
ATTENTION : l'ordre des colonnes de mise à jour est critique
BON : 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;
essayez de suivre:
UPDATE `list` SET `test` = `number`
il crée une copie de toutes les valeurs de "nombre" et la colle dans "test"
La suite a fonctionné pour moi.
pour une table, disons '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!
vous pouvez le faire avec la procédure aussi donc j'ai une procédure pour cela
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 ;