sql >> Database >  >> RDS >> Mysql

Een InnoDB-tabel hernoemen zonder verwijzingen naar refererende sleutels ernaar bij te werken?

Oude vragen, maar het volgende is een mogelijke omweg. Verplaats de gegevens in plaats van de tabellen te hernoemen. U moet er natuurlijk voor zorgen dat de nieuwe gegevens voldoen aan de regels voor buitenlandse sleutels.

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;

Zorg ervoor dat u het als één query uitvoert, zodat de Foreign_key_checks op het hele ding van toepassing zijn. Ik hoop dat dit helpt.



  1. Leer hoe u Excel-gegevens importeert in een MySQL-database

  2. Oracle-XMLTYPE:een waarde bijwerken

  3. Hoe kan ik een geoDataFrame importeren in MySQL?

  4. Hoe controleer ik of MySQL null/leeg retourneert?