Toon posts:

[MySql] Auto update or insert

Pagina: 1
Acties:

Verwijderd

Topicstarter
Is er een statement die zelf kan kijken of er update of insert gebruikt moet worden? Ik krijg in mijn MySql db een boel troep binnen vanuit SAP doormiddel van een sql query.
In sap gaan we niet bijhouden of een bepaald record al bestaat. Dus als het record wel bestaat moet hij update gebruiken, anders insert.

  • disjfa
  • Registratie: April 2001
  • Laatst online: 12-05 15:11

disjfa

be

maak je eerst een select kwerie die t product zoekt, en als die bestaat updaten en zo niet inserten :)

disjfa - disj·fa (meneer)
disjfa.nl


Verwijderd

Topicstarter
Ja dat kan gewoon met select key from table where key = 'var'
Als er dan een record bestaat moet ie updaten en als ie niet bestaat een insert doen
maar hoe doe ik die check. In een query zelf

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

Ga gewoon updaten en kijken hoeveel rows er zijn geweizigd. Als dat 0 is doe je alsnog een insert. Hoef je niet eerst een select uit te voeren.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

Topicstarter
Ik zit nu naar replace te kijken, dit is geen mooie optie maar het werkt wel.
Ik zit nu alleen met de vraag, hoe doe ik een replace op meerdere tables.
Ik heb nu dit
code:
1
REPLACE items set CallNr = '123', Status = 'N'

Met ; kun je toch een nieuwe regel doen?
dus
code:
1
REPLACE items set CallNr = '123', Status = 'N'; REPLACE orders set CallNr = '123', Status = 'D';

Dit werkt alleen niet.

  • Apollo_Futurae
  • Registratie: November 2000
  • Niet online
in welke omgeving werk je? (mysqlfront, php, asp, et c.)
in php bij voorbeeld is het niet mogelijk om met één aanroep van mysql_query() meerdere queries te scheiden met ';' ...

Pas de replâtrage, la structure est pourrie.


Verwijderd

Topicstarter
Ik ga het in delphi doen.
Doormiddel van een ODBC connectie met de mysql db.
Ik gebruik nu BDE ADMIN om te testen (de alias is ook met ODBC)

Verwijderd

Waarom is replace "geen mooie oplossing" ?

Het is toch voor zo'n zaken gemaakt?

Verwijderd

Topicstarter
Omdat ie geen update doen maar een replace/insert als een record al bestaat. Maar ik zit ook nog steeds met de vraag hoe ik meerdere replace statements kan doen in 1 query

Verwijderd

Een replace vervangt toch "het kijken of je een insert of een update moet doen".

Ik zie er niets mis mee.

Meedere queries, geen idee.

Verwijderd

Meerdere query's in 1 commando is niet mogelijk in MySQL (99% zeker).

  • Wortelpudding
  • Registratie: Februari 2002
  • Niet online
Op dinsdag 16 juli 2002 19:44 schreef NextGeneration het volgende:
Meerdere query's in 1 commando is niet mogelijk in MySQL (99% zeker).
100% zeker. MySQL ondersteunt geen subqueries :'(
Pagina: 1