Entwickler-Ecke

Datenbanken - Datenbanktabelle [String] zu [Bool] aendern?


Moeker - Mi 15.02.12 13:12
Titel: Datenbanktabelle [String] zu [Bool] aendern?
Guten tag zusammen, ich sitze an einem etwas... bescheuerten Problem und habe keine Ahnung wie ich es am besten loesen sollte.

Ich habe eine vorgefertigte Datenbank erhalten in welcher sich Mehrere Spalten befinden die eigentlich Boolsche Werte enthalten, jedoch von meinem Vorgaenger als Varchar(5) deklariert wurden sodass nun in jeder Zeile ein 'True' oder 'False' als String steht.

Das ganze Baue ich gerade in einen JTable in Java ein und um dort angenehm damit arbeiten zu koennen brauche ich diese Werte im Bool Format.

Gibt es eine simple Moeglichkeit diese Spalten von String zu Bool zu wandeln?

Modify hab ich schon probiert, hab ich nur die Fehlermeldung bekommen das false kein INT wert ist XD (relativ logisch)


Nersgatt - Mi 15.02.12 13:31

Willkommen in der Ecke! :welcome:

Welche Datenbank verwendest Du?
Grundsätzlich wirst Du das nicht in einem Schritt machen können.

1. Feld umbenennen
2. Neues (Bool)Feld unter dem alten Namen erstellen
3. mit einem UPDATE die Werte vom umbenannten Feld ins neue kopieren. Dabei die Werte konvertieren (je nach Datenbank ein paar Stichworte: IIF, CASE, ...)
3. Das umbenannte Feld löschen


Moeker - Mi 15.02.12 14:55

Ich benutze MySQL
Nachdem ich noch ein wenig rumgepfuscht hatte und dann auf die selbe Loesung gekommen bin wie du habe ich es inzwischen auch schon geschafft :D

Einfach neue Spalten einfuegen, werte mit einem IF uebertragen und dann die alten loeschen :3

Danke vielmals fuer die schnelle und offensichtlich auch professionelle Hilfe ^-^