KingbaseESV8R2 unterstützt nur die Migration von Oracle, also migrieren Sie zuerst MySQL nach Oracle.
Probleme bei der Migration zu Oracle:
1. Oracle hat eine maximale 30-stellige Beschränkung für Tabellennamen
2. Ungültige Hexadezimalzahl, ungültige Hexadezimalzahl
3. Die Tabellendaten sind leer und der Bericht kann nicht NULL in
einfügen 4. Der Indexname ist zu lang
Bei der Migration von MySQL zu Oracle gibt es viele Probleme. Bei der Migration von Oracle zu Kingbase ist die Anpassung sehr umfangreich und mühsam. Manchmal ist die Tabellenmigration nicht erfolgreich, kann aber später erfolgreich sein mehrere Versuche.
Nachdem wir das technische Personal von Jincang kontaktiert haben, haben wir erfahren, dass es derzeit eine neue Version V8R3 gibt, die jedoch nicht in der Produktionsumgebung verwendet werden kann, sondern zum Testen verwendet werden kann und die direkte Migration von MySQL unterstützt V8R3.
Daher müssen Sie während des Installationsvorgangs R2 und R3 nicht gleichzeitig installieren und das R3-Migrationstool für die Datenmigration verwenden. Bitte wählen Sie „Alle auswählen“ aus, wenn Sie die Quelldatenbank migrieren, um Einstellungen wie Ansichten, Indizes, Fremdschlüssel und Standardwerte zu migrieren.
Probleme bei der Migration auf V8R3:
1.tinyint(1) wird nach der Migration dem booleschen Wert zugeordnet, obwohl es im Migrationstool zugeordnet wurde, ist es immer noch dasselbe.
Nach der Migration müssen Sie also den Tabellenfeldtyp ändern, und wenn es einen Standardwert gibt, müssen Sie auch den Standardwert ändern
Obwohl Kommentare während des Migrationsprozesses ausgewählt wurden, bleiben die Kommentare der Felder bestehen kann nicht mit dem Standardobjektmanager angezeigt werden. Bewegen Sie die Maus über den Tabellennamen, um die Kommentare zur Tabelle anzuzeigen. Es gibt noch keine Möglichkeit, es anzuzeigen.
Nachdem Sie das tinyint(1)-Problem geändert haben, können Sie die Datenbank im Objektmanager von R3 für die logische Sicherung auswählen.
Verwenden Sie dann den Objektmanager von R2, um eine logische Wiederherstellung durchzuführen.
Wenn wir derzeit KingbaseV8R3 für die Übertragung verwenden, hilft uns die Migration von MySQL auf R3 dabei, die Sequenz zu erstellen und die Standardwerte der Felder auszufüllen, um eine automatische Inkrementierung zu erreichen.
So verwenden Sie die automatische Inkrementierung manuell:
Erstellen Sie zunächst eine SEQUENCE und nennen Sie sie test_id_SEQ. Legen Sie hier den Startwert auf 101 fest -inkrementieren und dann die Einfügeanweisung verwenden. Die Feld-ID der Testtabelle beginnt sich ab 101 zu erhöhen
Kingbase hat keine UUID-Funktion und während der Ausführung wird ein Fehler gemeldet 1. `distinguish keyword2. Funktion IFNULL ändert sich zu NVL3.group by Alle Felder müssen in 4.sql angezeigt werden!=''
, Es wird kein Fehler gemeldet, aber das Ausführungsergebnis ist null. In Kingbase sind leere Zeichenfolgen und null gleichwertig Die Uhrzeit ist gespeichert und ich möchte die Uhrzeit formatieren. Sie müssen die Zeit zuerst in einen Zeitstempel umwandeln und ihn dann in eine Zeichenfolge formatierenCREATE SEQUENCE test_id_SEQ START 101;
"
können nicht verwendet werden, verwenden Sie einfache Anführungszeichen ''
Stattdessen8 .Kann nicht verwendet werden count('')
9. Zeitformatierung, Addition und Subtraktionlimit_time = limit_time + (now() - apply_time)MySQL: NEXTVAL('test_id_SEQ'::REGCLASS)
INSERT INTO test (name) values('1');
schema name.table name
Distinguish
11 wird in is_delete = 0 geändert, der Feldwert ist 0 und kann nicht mit false gefiltert werden Das obige ist der detaillierte Inhalt vonSo migrieren Sie MySQL nach KingbaseESV8R2. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!