[MySQL] REPLACE en InnoDB

Pagina: 1
Acties:

  • Bartoz
  • Registratie: November 2000
  • Niet online
Lokale (Windows) versie MySQL: 4.1.10a
Server (Linux) versie MySQL: 4.0.20
Type database: InnoDB

De volgende situatie:

Tabel F heeft een refererende sleutel naar tabel T.
Op deze referende sleutel ligt een constraint (CASCADE ON DELETE).

Als ik dus een DELETE query op tabel T uitvoer worden automatisch alle refererende records uit F verwijderd.

Nu mijn probleem:

Ik wil een REPLACE query uitvoeren op tabel T.
Dit gaat lokaal goed.
Het record in T en het record in F worden beiden gewist en keurig opnieuw inserted

Ik vraag me nu af of dit op de server, waar een oudere versie op draait ook goed gaat.
Ik kan me voorstellen dat het record in T en F verwijderd worden en alleen in T opnieuw inserted wordt.

Helaas kan ik dit niet testen (vraag me niet waarom :)

Zijn er mensen die weten of mijn acties in zowel MySql 4.0 als in 4.1 goed gaan ?

  • Thekk
  • Registratie: Augustus 2002
  • Laatst online: 20-04 05:00
Ik kan me voorstellen dat je dat niet kan testen op de server. Maar het zou toch geen probleem moeten zijn om lokaal een ipv de 4.1 release een windows versie van 4.0.20 neer te zetten? Dan zou je 't zo kunnen uitvinden.

En verder: een comment bij de documentatie van REPLACE:take a look at INSERT ... ON DUPLICATE KEY UPDATE (new in mysql 4.1.0) to avoid delete and insert comes up with REPLACE. Let daarbij even op het versienummer.

[ Voor 40% gewijzigd door Thekk op 19-05-2005 15:33 ]

Ik heb geen zin om een sig te maken.


  • Bartoz
  • Registratie: November 2000
  • Niet online
Thekk schreef op donderdag 19 mei 2005 @ 15:26:
Ik kan me voorstellen dat je dat niet kan testen op de server. Maar het zou toch geen probleem moeten zijn om lokaal een ipv de 4.1 release een windows versie van 4.0.20 neer te zetten? Dan zou je 't zo kunnen uitvinden.

En verder: een comment bij de documentatie van REPLACE:take a look at INSERT ... ON DUPLICATE KEY UPDATE (new in mysql 4.1.0) to avoid delete and insert comes up with REPLACE. Let daarbij even op het versienummer.
Het gaat er mij juist om wat het onder linux doet. Lokaal kan ik op dit moment geen linux installeren omdat dit een w2k bedrijfs pc is, dit zal eerst besproken moeten worden. Dit quote op de MySQL site had ik uiteraard ook al gelezen.

Onder MySQL 4.1 onder Windows gaat de REPLACE INTO goed dus ik zit er over te denken de server maar van een upgrade te voorzien.