sql >> Databasteknik >  >> RDS >> Mysql

Byta namn på en InnoDB-tabell utan att uppdatera referenser för främmande nyckel till den?

Gamla frågor, men följande är en möjlig väg runt. Flytta i princip data istället för att byta namn på tabellerna. Du måste naturligtvis se till att den nya datan följer reglerna för främmande nyckel.

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;

Se till att du kör det som en fråga så att foreign_key_checks gäller för det hela. Hoppas detta hjälper.



  1. SQL GROUP BY CASE-sats med aggregatfunktion

  2. Hur man får aktuellt Auto_Increment-sekvensnummer för MySQL / MariaDB-tabell

  3. Hur man laddar MySQL automatiskt vid start på OS X Yosemite / El Capitan

  4. Ett ihållande tillfälligt bord?