Hi!
hallo, ich bin leider kein profi im Bereich MySQL.
Ich habe folgendes Problem, ich habe eine Tabelle „tabele1“
(500 Datensätze) und eine „tabelle2“.
jetzt möchte ich ein paar felder (nicht alle) feld1, feld2,
feld3 in tabelle2 einfügen und die restlichen felder in
tabelle2 die nicht in tabelle1 vorhanden sind mit einer nummer
versehen, die bleibt aber bei jedem datensatz gleich. Das wäre
mein erstes Problem.
Ein Feld der Tabelle2, das nicht versorgt wird, in der Definition auf „autoincrement“ setzen.
Dann per SQL die Daten aus Tabelle1 nach Tabelle2 bringen:
Insert into Tabelle2 Select Feld1, Feld2, Feld3, 0 from Tabelle1
Die 0 steht für das Feld, das auf autoincrement gesetzt wurde (Reihenfolge bzw. Position der Felder beachten!)
Wenn mehr Leerfelder in Tabelle2 enthalten sind, für jedes Feld den Defaultwert im SQL setzen, damit die Anzahl der Felder im Select-Teils der Anzahl der Felder in Tabelle2 entspricht.
Das SQL sieht dann etwa so aus für 7 Felder in Tabelle2:
Insert into Tabelle2 Select Feld1, Feld2, Feld3, 0, 0, 0, 0 from Tabelle1
Durch das Autoincrement wird nicht die 0 in das Feld geschrieben, sondern eine fortlaufende Zahl automatisch von der Datenbank generiert.
Danach ein Update über die Tabelle2 laufen lassen:
Update tabelle2 set feld5 = feld4, feld6 = feld4, feld7 = feld4
… wobei hier feld4 das Feld mit dem autoincrement ist.
Hier auf den Datentyp von feld5, feld6 und feld7 achten!
Mein 2. Problem in tabelle1 hat das Feld „feld1“ den typ
„blob“ aber in der Zieltabelle im Feld „feld1“ MUSS dieses
Feld vom Typ „mediumtext“ sein.
Kann mir dabei vl wer helfen, wäre sehr dankbar.
Auszug aus dem MySQL-Handbuch:
Ein BLOB ist ein binäres großes Objekt, welches eine variable Menge von Daten aufnehmen kann. Die vier BLOB-Typen sind TINYBLOB, BLOB, MEDIUMBLOB und LONGBLOB. Sie unterscheiden sich lediglich in der maximalen Länge der Werte, die sie aufnehmen können. Die vier TEXT-Typen sind TINYTEXT, TEXT, MEDIUMTEXT und LONGTEXT. Sie entsprechen den vier BLOB-Typen, d. h., sie haben dieselben Längenbeschränkungen und Speicheranforderungen.
Ein blob in ein mediumtext zu bringen, ist aus Gründen der Feldlängen überhaupt kein Problem!
Die Übertragung der Daten von einem blob in ein mediumtext geht also problemlos, da musst du nichts umformen. Aber macht das Sinn? Ein blob enthält Binärdaten, zum Beispiel die Daten einer Grafik (jpg, gif, o.ä.) Das willst du in ein Textfeld schieben? Du bekommst da nur wilden Krimskrams zu sehen. Mach mal im Windows Text-Editor eine GIF-Datei auf, dann siehst du, was du in das mediumtext-Feld schieben willst.
Grüße
Heinrich