Respuestas:
La respuesta corta para el código en cuestión es:
UPDATE `table` SET test=number
Aquí table
está el nombre de la tabla y está rodeado por un acento grave (también conocido como back-ticks `) ya que esta es la convención de MySQL para escapar de las palabras clave (y TABLE
es una palabra clave en ese caso).
CUIDADO, esta es una consulta bastante peligrosa que borrará todo en la columna test
en cada fila de su tabla reemplazándola por number
(independientemente de su valor)
Es más común usar una WHERE
cláusula para limitar su consulta solo a un conjunto específico de filas:
UPDATE `products` SET `in_stock` = true WHERE `supplier_id` = 10
update command
... Sin una cláusula WHERE , este comando update
TODOS los registros de la tabla.
UPDATE `table_name` SET `test` = `number`
También puede hacer cambios matemáticos en el proceso o usar las funciones de MySQL para modificar los valores.
prueba esto:
update `list`
set `test` = `number`
list
es es db nombre?
CUIDADO : el orden de las columnas de actualización es crítico
BIEN : lo que quiero guarda el valor de estado existente en PrevStatus
UPDATE Collections SET PrevStatus=Status, Status=44 WHERE ID=1487496;
MALO : El estado y PrevStatus terminan en 44
UPDATE Collections SET Status=44, PrevStatus=Status WHERE ID=1487496;
intente lo siguiente:
UPDATE `list` SET `test` = `number`
crea una copia de todos los valores de "número" y lo pega en "prueba"
Lo siguiente funcionó para mí ...
para una tabla, por ejemplo, 'test_update_cmd', columna de valor de origen col2, columna de valor de destino col1 y columna de condición col3: -
UPDATE test_update_cmd SET col1=col2 WHERE col3='value';
¡Buena suerte!
puedes hacerlo con procedimiento también, así que tengo un procedimiento para esto
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 ;