Allo stesso modo SHOW CREATE TABLE tblname; riporta ciò che è stato precedentemente eseguito, c'è comunque la possibilità di visualizzare l'SQL di una query ALTER TABLE? Per favore aiuto?Un modo per visualizzare ALTER TABLE dopo essere stato eseguito? -MySQL
risposta
Se l'istanza MySQL è attivata, è possibile visualizzare i registri. Questa sarebbe l'opzione migliore.
Se il sistema ha una cronologia attivata, è possibile avviare un client di backup dallo stesso sistema e provare la freccia su. Potresti essere in grado di vedere il comando lì.
Se si conosce l'utente che ha eseguito il comando e si è verificato eseguirlo direttamente da una riga di comando, lo stesso trucco storico potrebbe funzionare.
Un piccolo chiarimento: show create table
in realtà non "riporta indietro ciò che è stato precedentemente eseguito". Ti mostra solo il DDL che creerebbe il tavolo da zero. La tabella potrebbe essere stata creata e quindi modificata molte volte, ma show create table
riflette lo stato corrente della tabella.
Come per trovare qualsiasi istruzione alter table
eseguita di recente sulla tabella, la scelta migliore è il registro binario.
Prima di controllo per vedere se la registrazione binaria è abilitata:
show variable like 'log_bin';
Se lo è, trovare il log binario per il periodo in questione, utilizzare mysqlbinlog per convertirlo in SQL, quindi grep per il nome della tabella in questione per trovare la dichiarazione alter table
che stai cercando.
Strumenti:
- Maatkit.
- MySQL Schema & dati di Red-Gate Confronta
- Toad
- SQLyog
- MySQL Diff
manuale:
Prima di controllo per vedere se la registrazione binaria è abilitata:
show variable like 'log_bin';
Poi,
mysqlbinlog /var/log/mysql/mysql-bin.000001 | grep 'alter table *tablename*' > test.file
Vai a test.file a vedere le dichiarazioni alter.
- 1. Come eseguire correttamente ALTER VIEW dopo ALTER TABLE
- 2. Il rollback nella shell MySQL non funziona dopo ALTER TABLE
- 3. MySQL "ALTER TABLE IGNORE" Errore di sintassi
- 4. mysql ALTER TABLE se colonna non esiste
- 5. MySQL ALTER TABLE su tabelle troppo grandi per duplicare
- 6. ALTER TABLE aggiungi vincolo
- 7. ALTER sintassi TABLE
- 8. C'è un modo per vedere l'avanzamento di un'istruzione ALTER TABLE in MySQL?
- 9. sql server helper stored procedure o utilità per alter table alter table IDENTITY (1,1)
- 10. prestazioni di MySQL ALTER TABLE Aggiungi colonna dopo COLONNA - su un grande tavolo
- 11. L'istruzione ALTER TABLE conflitto
- 12. Problema con Postgres ALTER TABLE
- 13. ALTER TABLE sulla colonna dipendente
- 14. MySQL: ALTER IGNORE TABLE fornisce "violazione del vincolo di integrità"
- 15. ALTER TABLE migrazione LHM cancella valori esistenti
- 16. MySQL ALTER TABLE su un tavolo molto grande - è sicuro farlo funzionare?
- 17. MySQL molto lento per query tabella alter
- 18. Quanto ci vuole per costruire un indice usando ALTER TABLE in MySQL?
- 19. alter table aggiungi ... prima di `code`?
- 20. ALTER TABLE per aggiungere una chiave primaria composita
- 21. Alter table per fornire il vincolo di chiave esterna
- 22. riportare un merge dopo essere stato spinto
- 23. ALTER TABLE ADD COLUMN richiede molto tempo
- 24. Alambicco SQLite ALTER TABLE con chiave
- 25. Mysql - Modifica una colonna per essere AUTO_INCREMENT
- 26. ALTER TABLE my_table ADD @column INT
- 27. ALTER TABLE [dbo] [MyTable] CHECK CONSTRAINT [FK_MyTable_SomeCol]
- 28. ALTER TABLE con PDO e parametri?
- 29. Posso usare ALTER DATABASE per rinominare un database mysql?
- 30. SQL Server 2000 - ALTER TABLE + INSERT INTO = Errori?
http://dev.mysql.com/doc/refman/5.0/en/server-logs.html è un collegamento alle descrizioni di registrazione MySQL per l'amministrazione. – TheJacobTaylor
grazie per la risposta, sto usando phpmyadmin ma non riesco a trovare alcuna opzione di cronologia o di registro. –
Se hai bisogno dei dati, puoi chiedere all'amministratore del sistema di ottenere i registri delle query per te? Chiedi loro di trovare i comandi del tuo utente, con "alter", nel giorno specifico. Spero che possano aiutare. – TheJacobTaylor