Risposte:
La risposta breve per il codice in questione è:
UPDATE `table` SET test=number
Ecco tableil nome della tabella ed è circondato da un accento grave (noto anche come back-ticks) in quanto questa è la convenzione MySQL per sfuggire alle parole chiave (ed TABLEè una parola chiave in quel caso).
ATTENZIONE, questa è una query piuttosto pericolosa che cancellerà tutto nella colonna testin ogni riga della tabella sostituendola con number(indipendentemente dal suo valore)
È più comune utilizzare la WHEREclausola per limitare la query solo a un set specifico di righe:
UPDATE `products` SET `in_stock` = true WHERE `supplier_id` = 10
update command... Senza una clausola WHERE , questo comando update TUTTI i record nella tabella.
UPDATE `table_name` SET `test` = `number`
Puoi anche apportare modifiche matematiche al processo o utilizzare le funzioni MySQL per modificare i valori.
prova questo:
update `list`
set `test` = `number`
listè il nome db?
ATTENZIONE : l'ordine delle colonne di aggiornamento è fondamentale
BUONO : Quello che voglio salva il valore di stato esistente in PrevStatus
UPDATE Collections SET PrevStatus=Status, Status=44 WHERE ID=1487496;
BAD : Status e PrevStatus finiscono entrambi come 44
UPDATE Collections SET Status=44, PrevStatus=Status WHERE ID=1487496;
prova a seguire:
UPDATE `list` SET `test` = `number`
crea una copia di tutti i valori da "numero" e incollalo in "test"
Seguito ha funzionato per me ..
per una tabella dire 'test_update_cmd', colonna valore sorgente col2, colonna valore target col1 e colonna condizione col3: -
UPDATE test_update_cmd SET col1=col2 WHERE col3='value';
In bocca al lupo!
puoi farlo anche con Procedura, quindi ho una procedura per questo
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 ;