sql >> Database teknologi >  >> RDS >> Mysql

Omdøbe en InnoDB-tabel uden at opdatere fremmednøglereferencer til den?

Gamle spørgsmål, men følgende er en mulig vej udenom. Flyt dataene i stedet for at omdøbe tabellerne. Du skal selvfølgelig sørge for, at de nye data overholder reglerne for fremmednøgle.

SET foreign_key_checks = 0;
CREATE TABLE IF NOT EXISTS foo_old LIKE foo;
INSERT INTO foo_old SELECT * FROM foo;
TRUNCATE foo;
INSERT INTO foo SELECT * FROM foo_new;

Sørg for at køre det som én forespørgsel, så outside_key_checks gælder for det hele. Håber dette hjælper.



  1. Hvad betyder Clustered og Non-Clustered indeks egentlig?

  2. Strengsammenkædning i MySQL

  3. Hvordan vil et lovet mysql-modul fungere med NodeJS?

  4. Jeg prøver at kopiere en fil, men får fejlmeddelelse