sql >> Databáze >  >> RDS >> Mysql

Jak provést úpravy ve spojovací tabulce

Pro začátek nemusíte smazat všechny řádky.

Můžete odstranit pouze řádky, které již neplatí, a vložit pouze řádky, které jsou nové. Nebo můžete aktualizovat hodnotu, která již neplatí, hodnotou, která platí.

Abych se z toho dostal

Name    Role
--
John    Admin
John    Member
John    Superuser

k tomuto

Name    Role
--
John    Member
John    Junior

Co již neplatí, můžete smazat. . .

delete from userinroles
where Name = 'John' 
  and (Role = 'Admin' or Role = 'Superuser');

a vložte, co platí.

insert into userinroles (Name, Role)
values ('John', 'Junior');

Nebo můžete aktualizovat hodnotu novou hodnotou.

delete from userinroles
where Name = 'John' 
  and Role = 'Admin';

Následuje

update userinroles
set Role = 'Junior'
where 'Name' = 'John' and Role = 'Superuser';

Řekl jsi

K tomu slouží transakce. Více příkazů v rámci jedné transakce SQL je všechno nebo nic – buď všechny uspějí, nebo se neprovedou žádné změny.



  1. vypočítat průměr bez desetinných míst

  2. Optimální způsob, jak doplnit chybějící hodnoty po LEFT JOIN?

  3. Jak počítat rozdíl v datech kromě víkendů a svátků v MySQL

  4. Povolení SSL nebo TLS v Oracle Apps R12