Von postgre in mysql

Von postgre in mysql

am 23.06.2006 01:33:31 von Andreas Bauer

Hallo NG,

ich möchte Tabellen und Felder in einer postgre 8.1 Datenbank
Syntax, in eine mysql Datenbank aufnehmen und sie sql kommandos
in mysql ausführen.
Anscheinend ist create sequence in mysql aber anders geregelt
als in postgre?
Ich habe hier mal die postgre syntax:

create sequence s_books;
create sequence s_authors;

-- create tables t_authors, t_books, t_users

create table t_authors
(
authorid int4 primary key default nextval('s_authors'),
lastname varchar(31) not null,
firstname varchar(31) not null
);
create table t_books
(
bookid int4 primary key default nextval('s_books'),
authorid int4 not null references t_authors(authorid) on delete cascade,
title varchar(127) not null,
subtitle varchar(255)
);

insert into t_authors (authorid, lastname, firstname)
values (nextval('s_authors'), 'Meyers', 'Scott');

insert into t_books (authorid, title, subtitle)
values (currval('s_authors'), 'Effektiv C++ Programmieren',
'50 Wege zur Verbesserung Ihrer Programme und Entwuerfe');


Gruß und Danke
Andreas

Re: Von postgre in mysql

am 23.06.2006 08:29:45 von Sibylle Koczian

Andreas Bauer schrieb:
> Hallo NG,
>=20
> ich möchte Tabellen und Felder in einer postgre 8.1 Datenbank
> Syntax, in eine mysql Datenbank aufnehmen und sie sql kommandos
> in mysql ausführen.
> Anscheinend ist create sequence in mysql aber anders geregelt
> als in postgre?

So ist es. Zuständige Stelle in der Dokumentation in erster Linie:

http://dev.mysql.com/doc/refman/5.0/en/create-table.html

und dort der Abschnitt über "auto_increment".

Außerdem empfehlenswert, falls noch nicht zur Kenntnis genommen:
Abschnitt 1.9, MySQL Standards Compliance (eine etwas euphemistische
Überschrift ...).

--=20
Dr. Sibylle Koczian
Universitaetsbibliothek, Abt. Naturwiss.
D-86135 Augsburg
e-mail : Sibylle.Koczian@Bibliothek.Uni-Augsburg.DE

Re: Von postgre in mysql

am 23.06.2006 11:33:03 von Andreas Scherbaum

Hallo,

Andreas Bauer wrote:

> ich möchte Tabellen und Felder in einer postgre 8.1 Datenbank
> Syntax, in eine mysql Datenbank aufnehmen und sie sql kommandos
> in mysql ausführen.
> Anscheinend ist create sequence in mysql aber anders geregelt
> als in postgre?
> Ich habe hier mal die postgre syntax:
>
> create sequence s_books;
> create sequence s_authors;

Sequencen sind (siehe http://www.postgresql.org/docs/8.1/static/sql-createsequence .html)
SQL Standard (ob 99 oder 2003 muss ich jetzt passen), Mysql regelt
so etwas über auto_increment in der betreffenden Spalte. Du wirst
deine Tabellen also ein Stück weit umschreiben müssen.

Rein Interessehalber: warum wechselt man in diese Richtung?


Bye

--
Andreas 'ads' Scherbaum
Failure is not an option. It comes bundled with your Microsoft product.
(Ferenc Mantfeld)

Re: Von postgre in mysql

am 23.06.2006 12:17:08 von Andreas Kretschmer

Andreas
--
Andreas Kretschmer
Linux - weil ich es mir wert bin!
GnuPG-ID 0x3FFF606C http://wwwkeys.de.pgp.net
Deutsche PostgreSQL User Group: http://pgug.de