Respostas:
A resposta curta para o código em questão é:
UPDATE `table` SET test=number
Aqui table
está o nome da tabela e está cercado por sotaque grave (também conhecido como back-ticks `), pois esta é a convenção do MySQL para escapar de palavras-chave (eTABLE
é uma palavra-chave nesse caso).
CUIDADO, que esta é uma consulta bastante perigosa, que limpará tudo da coluna test
em todas as linhas da sua tabela, substituindo-a pelonumber
(independentemente do seu valor)
É mais comum usar a WHERE
cláusula para limitar sua consulta apenas a um conjunto específico de linhas:
UPDATE `products` SET `in_stock` = true WHERE `supplier_id` = 10
update command
... Sem uma cláusula WHERE , este comando update
TODOS os registros na tabela.
UPDATE `table_name` SET `test` = `number`
Você também pode fazer alterações matemáticas no processo ou usar as funções do MySQL para modificar os valores.
tente isto:
update `list`
set `test` = `number`
list
é o nome db?
CUIDADO : A ordem das colunas de atualização é crítica
BOM : O que eu quero salva o valor de status existente no PrevStatus
UPDATE Collections SET PrevStatus=Status, Status=44 WHERE ID=1487496;
RUIM : Status e PrevStatus terminam em 44
UPDATE Collections SET Status=44, PrevStatus=Status WHERE ID=1487496;
tente o seguinte:
UPDATE `list` SET `test` = `number`
ele cria cópia de todos os valores de "number" e cola-o em "test"
A seguir funcionou para mim ..
para uma tabela, diga 'test_update_cmd', coluna de valor de origem col2, coluna de valor de destino col1 e coluna de condição col3: -
UPDATE test_update_cmd SET col1=col2 WHERE col3='value';
Boa sorte!
você pode fazê-lo com o procedimento também, então eu tenho um procedimento para isso
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 ;