Обсуждение: can't read SQL dump from MySQL

Поиск
Список
Период
Сортировка

can't read SQL dump from MySQL

От
"Andreas Jerke"
Дата:
Hi,

I'm updating from MySQL to PostgrSQL. Therefor I use
the mysqldump tool for exporting CREATE and INSERT statements
from all tables and rows.

When I try to import the SQL file into PostgreSQL with
psql --> \i filename

I get the following error:

line 17:parser: parse error at or near "("

My SQL statement:

<schnipp>

1   CREATE TABLE Adresse (
2   pid_adresse int(11) DEFAULT '0' NOT NULL auto_increment,
3   id_person int(11) DEFAULT '0' NOT NULL,
4   PLZ varchar(50),
5   id_ort int(11) DEFAULT '0',
6   strasse varchar(50),
7   id_postcode int(11),
8   hausnummer int(11),
9   zusatz varchar(25),
10  postfach varchar(20),
11  leitcode varchar(18),
12  strassen_code char(3),
13  FZ char(3),
14  adresszusatz varchar(50),
15  PRIMARY KEY (pid_adresse),
16  KEY id_person (id_person)
17  );

<schnapp>

any suggestions ?
I can't find a docu for the syntax of the textfiles, which
I can import with the option \i !



Re: can't read SQL dump from MySQL

От
Patrick Welche
Дата:
On Mon, Sep 11, 2000 at 12:38:54PM +0200, Andreas Jerke wrote:
>
> 1   CREATE TABLE Adresse (
> 2   pid_adresse int(11) DEFAULT '0' NOT NULL auto_increment,
> 3   id_person int(11) DEFAULT '0' NOT NULL,
> 4   PLZ varchar(50),
> 5   id_ort int(11) DEFAULT '0',
> 6   strasse varchar(50),
> 7   id_postcode int(11),
> 8   hausnummer int(11),
> 9   zusatz varchar(25),
> 10  postfach varchar(20),
> 11  leitcode varchar(18),
> 12  strassen_code char(3),
> 13  FZ char(3),
> 14  adresszusatz varchar(50),
> 15  PRIMARY KEY (pid_adresse),
> 16  KEY id_person (id_person)
> 17  );
>
> any suggestions ?

I think the problem is int(11) - maybe this should be numeric rather than int?
Or will integer on its own do?

Not sure about the "KEY" bit at the end - maybe

id_person INTEGER NOT NULL UNIQUE DEFAULT 0,

is sufficient?

Cheers,

Patrick

AW: can't read SQL dump from MySQL

От
"Andreas Jerke"
Дата:
thanks for help,
I fixed this with:

CREATE TABLE Adresse (
  pid_adresse INT8 DEFAULT NEXTVAL('seqAdresse') PRIMARY KEY,
  id_person int4 DEFAULT '0' NOT NULL,
  PLZ varchar(50),
  id_ort int4 DEFAULT '0',
  strasse varchar(50),
  id_postcode int4,
  hausnummer int4,
  zusatz varchar(25),
  postfach varchar(20),
  leitcode varchar(18),
  strassen_code char(3),
  FZ char(3),
  adresszusatz varchar(50)
);

Cheers,
Andreas



::-----Urspr�ngliche Nachricht-----
::Von: Patrick Welche [mailto:prlw1@newn.cam.ac.uk]
::Gesendet: Montag, 11. September 2000 15:23
::An: Andreas Jerke
::Cc: Pgsql-General
::Betreff: Re: [GENERAL] can't read SQL dump from MySQL
::
::
::On Mon, Sep 11, 2000 at 12:38:54PM +0200, Andreas Jerke wrote:
::>
::> 1   CREATE TABLE Adresse (
::> 2   pid_adresse int(11) DEFAULT '0' NOT NULL auto_increment,
::> 3   id_person int(11) DEFAULT '0' NOT NULL,
::> 4   PLZ varchar(50),
::> 5   id_ort int(11) DEFAULT '0',
::> 6   strasse varchar(50),
::> 7   id_postcode int(11),
::> 8   hausnummer int(11),
::> 9   zusatz varchar(25),
::> 10  postfach varchar(20),
::> 11  leitcode varchar(18),
::> 12  strassen_code char(3),
::> 13  FZ char(3),
::> 14  adresszusatz varchar(50),
::> 15  PRIMARY KEY (pid_adresse),
::> 16  KEY id_person (id_person)
::> 17  );
::>
::> any suggestions ?
::
::I think the problem is int(11) - maybe this should be numeric
::rather than int?
::Or will integer on its own do?
::
::Not sure about the "KEY" bit at the end - maybe
::
::id_person INTEGER NOT NULL UNIQUE DEFAULT 0,
::
::is sufficient?
::
::Cheers,
::
::Patrick
::



Re: can't read SQL dump from MySQL

От
Stephan Szabo
Дата:
On Mon, 11 Sep 2000, Andreas Jerke wrote:

> Hi,
>
> I'm updating from MySQL to PostgrSQL. Therefor I use
> the mysqldump tool for exporting CREATE and INSERT statements
> from all tables and rows.
>
> When I try to import the SQL file into PostgreSQL with
> psql --> \i filename
>
> I get the following error:
>
> line 17:parser: parse error at or near "("
>
> My SQL statement:
>
> <schnipp>
>
> 1   CREATE TABLE Adresse (
> 2   pid_adresse int(11) DEFAULT '0' NOT NULL auto_increment,
> 3   id_person int(11) DEFAULT '0' NOT NULL,
> 4   PLZ varchar(50),
> 5   id_ort int(11) DEFAULT '0',
> 6   strasse varchar(50),
> 7   id_postcode int(11),
> 8   hausnummer int(11),
> 9   zusatz varchar(25),
> 10  postfach varchar(20),
> 11  leitcode varchar(18),
> 12  strassen_code char(3),
> 13  FZ char(3),
> 14  adresszusatz varchar(50),
> 15  PRIMARY KEY (pid_adresse),
> 16  KEY id_person (id_person)
> 17  );

It's probably complaining about the
KEY id_person (id_person)
line since I don't think that's a
standard syntax or at least it doesn't
look like syntax postgres understands.
What's the intent behind the line?


Re: can't read SQL dump from MySQL

От
Gunnar von Boehn
Дата:
On Mon, Sep 11, 2000 at 03:46:26PM +0200, Andreas Jerke wrote:
> thanks for help,
> I fixed this with:
>
> CREATE TABLE Adresse (
>   pid_adresse INT8 DEFAULT NEXTVAL('seqAdresse') PRIMARY KEY,
                INT4 would do the job here.

>   id_person int4 DEFAULT '0' NOT NULL,
>   PLZ varchar(50),
>   id_ort int4 DEFAULT '0',
>   strasse varchar(50),
>   id_postcode int4,
>   hausnummer int4,
>   zusatz varchar(25),
>   postfach varchar(20),
>   leitcode varchar(18),
>   strassen_code char(3),
>   FZ char(3),
>   adresszusatz varchar(50)
> );

Integer Types

 ___mysql____________ postgress_____________
 int1 = tinyint(4)    -            =    8Bit
 int2 = smallint(6)   int2         =   16Bit
 int3 = mediumint(9)  -            =   24Bit
 int4 = int(11)       int4         =   32Bit
 int8 = bigint(20)    int8         =   64Bit

i think that the mysql syntax like tinyint(4) stands for less than 4 digist.

Chears,
Gunnar von Boehn
--
LinuxHaus Stuttgart                    | Tel.:  +49 (7 11) 2 85 19 05
D-70734 Fellbach                       | Fax:   +49 (7 11) 5 78 06 92
Linux, Netzwerke, Consulting & Support | http://lihas.de