Toon posts:

[PostGresql] Inserten meerdere values lukt niet

Pagina: 1
Acties:
  • 205 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik probeer een MySQL-programmaatje om te zetten naar PostGreSQL, maar het lukt niet goed :) Ik heb een tabel "category", met kolom id en name, en een tabel "file" met kommen id, filename en categoryid. De categoryid is een foreign key naar category. Category heeft zes records, met id's 1, 2, 3, 4, 5 en 6. De id-velden zijn autoincrementing primary keys.

Als ik nu doe:
code:
1
INSERT INTO file (filename, categoryid) VALUES ('a', 1);

of
code:
1
INSERT INTO file(filename, categoryid)  VALUES ('b', 2);

werkt dat perfect. Maar als ik doe:
code:
1
INSERT INTO file (filename, categoryid) VALUES ('a', 1),('b',2);

is de foutmelding "ERROR: syntax error at or near "," at character 56". Character 56 is de komma tussen de twee values. Dit moet toch kunnen op deze manier? Wat doe ik nou fout?

Acties:
  • 0 Henk 'm!

Verwijderd

Waarom denk je dat dit zo moet kunnen? Ik heb geen ervaring met Postgres, maar standaard SQL ondersteunt 't sowieso niet.

Acties:
  • 0 Henk 'm!

  • Noork
  • Registratie: Juni 2001
  • Niet online
Waarom zou je dit uberhaupt willen? Je kunt toch de Mysql data met een simpel loopje inserten in Postgres?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Verwijderd schreef op zaterdag 10 februari 2007 @ 22:57:
Waarom denk je dat dit zo moet kunnen? Ik heb geen ervaring met Postgres, maar standaard SQL ondersteunt 't sowieso niet.
Volgens http://www.postgresql.org...nt/static/sql-values.html zou 't zo moeten kunnen. Volgens wikipedia is 't standaard sinds sql-92sql, en Postgres zou 't ondersteunen:

Multirow inserts

An SQL feature (since SQL-92) is the use of row value constructors to insert multiple rows at a time in a single SQL statement:

* INSERT INTO table (column1, [column2, ... ]) VALUES (value1a, [value1b, ...]), (value2a, [value2b, ...]), ...

This feature is supported by DB2, PostgreSQL and MySQL.

[ Voor 41% gewijzigd door Verwijderd op 10-02-2007 23:16 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Noork schreef op zaterdag 10 februari 2007 @ 23:05:
Waarom zou je dit uberhaupt willen? Je kunt toch de Mysql data met een simpel loopje inserten in Postgres?
Nee, het programma gebruikt nu een MySQL-db als backend, dat moet een Postgres-db worden. De data boeit niet, hoeft niet te worden overgezet.

Acties:
  • 0 Henk 'm!

  • KoHa
  • Registratie: Juli 2004
  • Laatst online: 17:06
Hier wordt gezegd dat het met het "COPY" commando moet

http://archives.postgresq...eral/2005-10/msg01915.php

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Tnx! Multirow inserts worden pas ondersteund in PostgreSQL 8.2, ik heb 8.1. Jammer hoor! :)

Acties:
  • 0 Henk 'm!

  • flowerp
  • Registratie: September 2003
  • Laatst online: 11-09 18:20
Verwijderd schreef op zaterdag 10 februari 2007 @ 23:20:
Tnx! Multirow inserts worden pas ondersteund in PostgreSQL 8.2, ik heb 8.1. Jammer hoor! :)
Maar je kunt toch gewoon 8.2 downloaden? Tis gratis software hoor ;)

It's shocking to find how many people do not believe they can learn, and how many more believe learning to be difficult.


Acties:
  • 0 Henk 'm!

  • Bastiaan V
  • Registratie: Juni 2005
  • Niet online

Bastiaan V

Tux's lil' helper

flowerp schreef op zondag 11 februari 2007 @ 10:12:
[...]


Maar je kunt toch gewoon 8.2 downloaden? Tis gratis software hoor ;)
gok dat hij het ook weer ergens oet hosten, daar kan je meestal niet 'zelf ff installeren' :)

Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Verwijderd schreef op zaterdag 10 februari 2007 @ 23:12:
Nee, het programma gebruikt nu een MySQL-db als backend, dat moet een Postgres-db worden. De data boeit niet, hoeft niet te worden overgezet.
De data die je uit mysql's load data into outfile gedoe kunt krijgen is in postgres weer in te lezen dmv copy. Maar je kan uiteraard ook gewoon een dump maken met losse inserts, je bent niet verplicht de extended inserts te gebruiken bij je dump. :)
Pagina: 1