Answers:
有关代码的简短答案是:
UPDATE `table` SET test=number
这table
是表名,周围是重音符号(又称“-”),因为这是MySQL惯例,用于转义关键字(TABLE
在这种情况下为关键字)。
请注意,这是非常危险的查询,它将擦除test
表每一行中列中的所有内容,并将其替换为number
(无论其值如何)
使用WHERE
子句将查询限制为仅特定的行集更为常见:
UPDATE `products` SET `in_stock` = true WHERE `supplier_id` = 10
update command
...,请小心。如果没有WHERE子句,此命令将在表中记录update
所有记录。
尝试以下操作:
UPDATE `list` SET `test` = `number`
它从“数字”创建所有值的副本,并将其粘贴到“测试”
您也可以使用Procedure做它,所以我有一个针对此的过程
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 ;