Avatar billede Slettet bruger
09. juni 2006 - 09:56 Der er 6 kommentarer og
2 løsninger

Opdatere database med nye/ændrede tabeller

Hej

Hvad er fremgangsmåden hvis jeg gerne vil opdatere en tabel med flere/færre felter?

Eksempel:

Jeg har 3 tabeller. Nu vil jeg ændre nogle felter i disse tabeller. Det eneste jeg har er den nye databasestruktur i en eller anden form.

Det jeg søger er en metode til at kunne opdatere strukturen med den nyeste version. Således at man ved at klikke på en knap kan opdatere automatisk. Det hele sker i PHP.

På forhånd tak
Avatar billede fennec Nybegynder
09. juni 2006 - 10:04 #1
ALTER TABLE tabelNavn ADD COLUMN kolNavn nvarchar(50)
ALTER TABLE tabelNavn DROP COLUMN kolNavn
http://dev.mysql.com/doc/refman/5.0/en/alter-table.html

Og hvis du skal oprette nye tabeller er det med CREATE TABLE:
http://dev.mysql.com/doc/refman/5.0/en/create-table.html
Avatar billede Slettet bruger
09. juni 2006 - 10:10 #2
OK...du kender vel tilfældigvis ikke en metode til at sammenligne 2 DB-strukturer, således at jeg ikke skal håndskrive en PHP-opdatering for hver eneste opdatering? Det ville jo være smart at systemet bare sammenligner og fjerner/tilføjer det der skal rettes ;)
Avatar billede fennec Nybegynder
09. juni 2006 - 10:22 #3
Desværre ikke, men du kan måske bruge SHOW syntaxen til noget:
http://dev.mysql.com/doc/refman/5.0/en/show.html

"SHOW TABLES" trækker tabellerne ud
"SHOW COLUMNS" trækker kolonnerne ud

Jeg har dog ikke prøvet at bruge disse funktioner, så det er kun et gæt...
Avatar billede arne_v Ekspert
11. juni 2006 - 00:57 #4
Der er forskellige tools som kan gøre den slags.

SQLYog kan tilsyneladende gøre det (se http://www.databasejournal.com/features/mysql/article.php/1584401).

Google finder et produkt som http://www.ozgrid.com/Services/schema-mySQL-databases.htm.

Hvis du har gør det selv tendenser kan du starte her http://www.webpronews.com/it/database/wpn-20-20050718SynchronizemultipleMySQLDatabaseswithPHP.html
Avatar billede Slettet bruger
15. juni 2006 - 13:50 #5
Jeg skruede lidt slamkode sammen efter inspiration fra linkene, desværre kan den ikke holde styr på sagerne hvis bestemte felter har et andet navn end tidligere, men det ville jo også kræve en form for intelligens i programmet ;)

Min kode kan nu oprette og slette felter. Den kan også ændre type, størrelse osv. Og jeg er tilfreds :)

Smid et svar (begge to)
Avatar billede fennec Nybegynder
15. juni 2006 - 14:25 #6
.o) <-- One Eyed Jack
Avatar billede arne_v Ekspert
15. juni 2006 - 14:42 #7
svar
Avatar billede Slettet bruger
11. oktober 2006 - 09:55 #8
Øhm...beklager jeg ikke har givet point før nu, men jeg har haft afmeldt mails fra E et stykke tid :(
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester