Varchar nach Int

blade runner

Mitglied
Hallo,
mein Problem ist folgendes...
ich muss Daten von einen System zum anderen bringen, nur leider hat das Quellsystem die Keys alphanumerisch und das Zielsystem (läuft auf MySQL) arbeitet nur vernünftig mit integer Werten.
Nun meine Frage, gibt es irgendwie eine Möglichkeit mit MySQL Zeichenketten als eindeutige int Werte auszurechnen? Ich habe das mit ord() versucht, aber die Zahlen wurden schnell erschreckend hoch, da bei ord() alle 256 Zeichen berücksichtigt werden. Ausserdem muß man dann wissen, aus wieviel Zeichen der Index besteht. Wie das Statement bei einen 6-Stelligen Index aussieht, kann man sich ja vorstellen.:confused:
Ich brauche aber nur Zahlen, Großbuchstaben und Underlines (=37 Zeichen).

Danke schonmal für euere Hilfe.

PS: Ich weiss, dass MySQL mit Varchar Keys arbeiten kann, nur die Software dahinter flippt dann aus.
 
Hallo,

du willst also alphanumerische Keys auf numerische Keys mappen bei der Migration?
Welche Software "flippt" denn aus bei alphanumerischen Keys ?
Poste doch mal deine Tabellenstruktur.
 
Hallo Markus,
Hallo,

du willst also alphanumerische Keys auf numerische Keys mappen bei der Migration?
Welche Software "flippt" denn aus bei alphanumerischen Keys ?
Ist xtcommerce. Das Problem ist, das Links nach folgenden Schema generiert werden...
z.B: /product_info.php?info=p12_Artikelname
das p12 ist die Produkt-ID mit einen P davor für Produkt. Wenn ich alphanumerische keys benutzte, kannst Du Dir ja vorstellen, was passiert, wenn dort ein p drinn ist. Bzw. andere Buchstaben landen u.U. im Artikelnamen.
Poste doch mal deine Tabellenstruktur.
Die Tabellenstruktur von xtcommerce ist sehr ähnlich wie von oscommerce. Das Datenbankmodell ist als gif oder pdf-Datei vorhanden wenn man sich osc runterlädt.
Die Quelldaten liegen in einer riesigen Tabelle. Nennt man glaube ich staging-area.Von dort wird nach und nach die xtcommerce DB gefüllt.

Der Prozess ist soweit klar, und funktioniert (mit suchen und ersetzen der key's). Ich will das aber ein wenig allgemeingültiger haben.
 
Zurück