Uppdatera data m.h.a temptabell, mysql

From Linuxwiki
Jump to navigation Jump to search

Att uppdatera data med hjälp av en temporär tabell

Detta exempel gäller tabellen user i databasen mysql.

Börja med att välja databas:

use mysql

Skapa först en temporär tabell som kopia av user men utan data:

create temporary table i select * from user where 1=2;

1=2 ger just att tabellen blir tom.

Välj sedan ut en lämplig rad i tabellen user att kopiera in. Denna rad kommer sedan att modifieras för att skrivas tillbaka till user:

insert into i select * from user where user='ptadmin';

Sedan är det dags för modifieringen:

update i set host='annanserver';

Lägg till en wheresats om så önskas.

Skriv tillbaka datat till user

insert into user select * from i;

Även här kan en wheresats kanske vara önskvärd.

I detta exempel behöver vi även läsa om rättigheterna:

flush privileges