Auf die gleiche Weise SHOW CREATE TABLE tblname; bringt zurück, was zuvor ausgeführt wurde, gibt es trotzdem die SQL einer ALTER TABLE-Abfrage anzuzeigen? Bitte helfen?Kann ALTER TABLE nach der Ausführung angezeigt werden? -MySQL
Antwort
Wenn Ihre MySQL-Instanz aktiviert ist, können Sie die Protokolle anzeigen. Dies wäre die beste Option.
Wenn in Ihrem System die Historie aktiviert ist, können Sie eine Client-Sicherung vom selben System aus starten und den Pfeil nach oben verwenden. Möglicherweise können Sie den Befehl dort sehen.
Wenn Sie den Benutzer kennen, der den Befehl ausgeführt hat und den Befehl direkt über eine Befehlszeile ausgeführt hat, funktioniert möglicherweise derselbe Verlaufstrick.
Eine kleine Klarstellung: show create table
führt eigentlich nicht "zurück, was vorher ausgeführt wurde". Es zeigt Ihnen nur die DDL, die die Tabelle von Grund auf neu erstellen würde. Die Tabelle wurde möglicherweise erstellt und dann mehrmals geändert, aber show create table
spiegelt den aktuellen Status der Tabelle wider.
Wie für alle alter table
Aussagen zu finden, die vor kurzem auf dem Tisch lief, ist die beste Wette das binäre Protokoll.
Prüfen Sie zuerst, ob binäre Protokollierung aktiviert ist:
show variable like 'log_bin';
Wenn es ist, das binäre Protokoll für den betreffenden Zeitraum finden, verwenden mysqlbinlog es zu SQL zu konvertieren, dann grep für die jeweiligen Tabellennamen Finden Sie die alter table
Aussage, die Sie suchen.
Werkzeuge:
- Maatkit.
- Red-Tor MySQL Schema & Daten vergleichen
- Toad
- SQLYog
- MySQL Diff
Handbuch:
Prüfen Sie zuerst, ob binäre Protokollierung aktiviert ist:
show variable like 'log_bin';
Dann 0
,
mysqlbinlog /var/log/mysql/mysql-bin.000001 | grep 'alter table *tablename*' > test.file
Zum test.file die alten Aussagen zu sehen.
- 1. Standardsortierreihenfolge in MySQL (ALTER TABLE ... ORDER BY ...;)
- 2. Rollback in der MySQL-Shell funktioniert nicht nach ALTER TABLE
- 3. alter table add MULTIPLE Spalten NACH Spalte1
- 4. mysql ALTER TABLE, wenn die Spalte nicht
- 5. ALTER TABLE hinzufügen Einschränkung
- 6. ALTER TABLE-Syntax
- 7. alter table add ... vor `code`?
- 8. ALTER TABLE ORDER BY str_to_date und time_to_sec
- 9. Oracle SQL-ALTER TABLE Fehler
- 10. mysql: Schleife über Tabellen und alter table hinzufügen Index
- 11. SQL ALTER TABLE auf TRIGGER
- 12. ALTER TABLE lhm Migration löscht vorhandene Werte
- 13. Oracle Leistung von Schemaänderungen im Vergleich zu MySQL ALTER TABLE?
- 14. Oracle_CX Alter Table Tropfen Constraint
- 15. SQL ALTER TABLE mit Standard
- 16. Drupal: Modulupdate alter database table
- 17. Summiert MySQL ALTER TABLE ADD PRIMARY KEY auch die Daten?
- 18. sqlite optimales Update nach einer alter table add
- 19. alter table dann update in single statement
- 20. alter table mytable Drop `folder` nicht funktionieren
- 21. Multi-Table mysql query
- 22. Alter Table Alte Spalte andernfalls zum Ändern der Größe Spalten
- 23. ALTER TABLE my_table ADD @column INT
- 24. ALTER TABLE [dbo] [MyTable] CHECK CONSTRAINT [FK_MyTable_SomeCol]
- 25. ALTER TABLE mit PDO und Parametern?
- 26. ALTER TABLE mit großer Anzahl von Zeilen
- 27. MySQL ALTER TABLE auf sehr großen Tisch - ist es sicher, es zu betreiben?
- 28. ALTER TABLE ließ mich NULL oder Standardwert nicht festlegen?
- 29. MySQL - Alter in Minuten
- 30. MYSQL - Nach Wochen gruppieren, während Wochen ohne Werte angezeigt werden
http://dev.mysql.com/doc/refman/5.0/en/server-logs.html ist eine Verknüpfung zu Beschreibungen der MySQL-Protokollierung für die Verwaltung. – TheJacobTaylor
danke für die Antwort, ich benutze phpmyadmin, aber ich kann nicht scheinen, irgendwelche Geschichte oder Protokolloption zu finden. –
Wenn Sie die Daten benötigen, können Sie den Administrator des Systems bitten, die Abfrageprotokolle für Sie abzurufen? Lassen Sie sie am jeweiligen Tag Befehle von Ihrem Benutzer mit "alter" finden. Hoffentlich können sie helfen. – TheJacobTaylor