01 March, 2014

Sqlite - import af eksport fra MySql



Umiddelbart er det vanskeligt at importere filen direkte, fordi Sqlite ikke bruger ` og ligenende tegn. Løsningen kræver lidt editering i filen.

Jeg fjernede modellen for en tabel; men beholdt data fra INSERT INTO ... - altså noget i stil med dette:

INSERT INTO `Albums` (`Id`, `Title`, `Who`, `Year`, `Price`, `Note`) VALUES
(1, 'The Photographer', 'Philip Glass', 1983, 50, 'Minimalism'),
(2, 'Den Blå Hund', 'Gnags', 1984, 50, 'Reggae. flip'),
(3, 'London Calling', 'The Clash', 1979, 60, 'Punk, New Wave'),
(4, 'Dreamtime', 'The Stranglers', 1986, 50, 'Alternative'),
(5, 'Under a Bloody Red Sky', 'U2', 1983, 60, 'Rock'),
(6, 'Gasolin'' 3', 'Gasolin', 1973, 200, 'Pop');
Derefter oprettede jeg tablellen manuelt (men det må kunne gøres mere elegant) med udgangspunkt i dette fra MySql:

CREATE TABLE `Albums` (
  `Id` int(4) NOT NULL AUTO_INCREMENT COMMENT 'Id',
  `Title` tinytext ,
  `Who` text ,
  `Year` year(4) ,
  `Price` int(11) ,
  `Note` varchar(2000),
  PRIMARY KEY (`Id`)

Eftersom Sqlite ikke forstår  ` og andre detaljer i MySQL syntaksen fjernede jeg dette, og oprettede tabellen manuelt. Da tabellen var klar prøvede jeg en import. Det kan enten gøres i terminalen eller ved at vælge import i Sqlitebrowser (et udmærket GUI, der virker i Linux).

Og det virkede så helt uden problemer.