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)