我有这张桌子:
CREATE TABLE `Factura` (
`IDFactura` BIGINT NOT NULL AUTO_INCREMENT,
`TipoDevolucionActual` VARCHAR(10) NOT NULL,
`TipoDevolucionAnterior` VARCHAR(10) NOT NULL,
PRIMARY KEY (`IDFactura`)
);
当尝试更新一行以将TipoDevolucionActual
值与TipoDevolucionAnterior
值互换时,我在两个字段中都得到了相同的值。
我试图这样做:
update Factura SET
TipoDevolucionAnterior=TipoDevolucionActual,
TipoDevolucionActual=TipoDevolucionAnterior WHERE IDFactura=1;
我该如何解决这个问题?
答案 0 :(得分:1)
这将起作用
UPDATE Factura
SET TipoDevolucionActual = (@temp := TipoDevolucionActual),
TipoDevolucionActual = TipoDevolucionAnterior,
TipoDevolucionAnterior = @temp
WHERE IDFactura = 1;