[SQL/Postgres] records kopieren, nieuwe ID

Pagina: 1
Acties:

  • jsiegmund
  • Registratie: Januari 2002
  • Laatst online: 17-04 22:54
Ik heb een aantal tabellen die in relatie staan met elkaar. De items in tabel A hebben een ID en een datum (en uiteraard nog wat andere velden). Nu wil ik graag een functie maken welke:
- een record uit tabel A kopieert, vervolgens invoegt met een nieuwe (automatisch gegenereerde) ID en een nieuwe (zelf op te geven) datum.
- vervolgens alle relaties van het originele record ook nog een keer kopieert voor de gemaakte kopie (dus met een nieuw ID)

Opties:
- functie maken die dat alles in 1x doet, 2 argumenten: ID van "te kopieren record" en een nieuwe datum
- record + relaties ophalen in PHP, gegevens aanpassen en opnieuw invoegen

De eerste optie lijkt me wat mooier, maar krijg ik niet voor elkaar. 2e is niet zo moeilijk, maar imho kan het netter. Vraag hier: kan het op manier 1? Of maak ik het mezelf dan erg moeilijk?

[ Voor 16% gewijzigd door jsiegmund op 13-01-2006 15:44 ]


  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 19-10-2025
je kan 1 en 2 ook samen vatten natuurlijk,
record voor record inladen in php (data dus) en dan wegschrijven in nieuwe tabel (met auto-increment id)
vervolgens het mysql_insert_id ophalen, en deze gebruiken voor de tweede tabel.

tuurlijk kan het netter, maar ik neem aan dat het eenmalig is?

This message was sent on 100% recyclable electrons.


  • jochemd
  • Registratie: November 2000
  • Laatst online: 29-12-2025
1 kan best. Hoe ver ben je gekomen in je pogingen?

  • jsiegmund
  • Registratie: Januari 2002
  • Laatst online: 17-04 22:54
Zie andere post, ik krijg variabelen niet geheel werken, en die heb je toch wel nodig. Ik heb geprobeerd om met INSERT INTO ... SELECT een rij te inserten, maar dan krijg je gezeur over de pID die niet klopt. Vervolgens geprobeerd om met die auto increment waarde een nieuwe rij te inserten, maar die waarde kreeg ik binnen m'n functie niet te pakken. Moet wel eerlijk bekennen dat ik de moed vrij snel opgegeven heb, maarja wat wil je wanneer een andere oplossing voor je voeten ligt :)

Werk met een klassenstructuur, dus eenkeer het object clonen en opnieuw m'n save2Database() functie aanroepen was al genoeg om het voor elkaar te krijgen.