php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 20.06.2007, 22:21  
Benutzer
 
Registriert seit: 08.02.2006
Beiträge: 37
sponer
Standard Update und Insert in einem ?

Hallo.

Ich suche einen SQL-Befehl-Aufbau mit folgenden Eigenschaften:

- füge Datensatz wenn ID des Datensatz nicht vorhanden ist ein
- update Datensatz mit der ID, wenn der gesendete Datensatz nicht mit dem gespeicherten übereinstimmt

Ich möchte als einen Datensatz lossenden und MySQL soll nur auf die Festplatte schreiben, wenn das wirklich nötig wäre.


Momentan schicke ich zwei Befehle los

INSERT IGNORE INTO
und UPDATE

Das erste erfüllt schon eine der Bedingungen, doch der zweite müsste theoretisch jedesmal auf die Festplatte schreiben, was aber gerne vermeiden möchte.

Jemand eine Idee?

Kann man einen MySQL-Befehl evtl. von einer Bedingung (z.B. Vergleich eines Feldes mit einer Prüfsumme u.ähnl.) abhängig machen?


Gruß
sponer ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 21.06.2007, 14:15  
Erfahrener Benutzer
 
Registriert seit: 17.01.2006
Beiträge: 468
Slava
Standard

wenn es sich um gleiche id handelt, dann
http://dev.mysql.com/doc/refman/5.1/de/replace.html
sonnst muss du bei insert in deine where einfach untersuchung von jedem feld reinbringen
http://dev.mysql.com/doc/refman/5.1/...duplicate.html
__________________
Slava
http://bituniverse.com
Slava ist offline   Mit Zitat antworten
Alt 21.06.2007, 14:38  
Benutzer
 
Registriert seit: 08.02.2006
Beiträge: 37
sponer
Standard

Replace habe ich bis jetzt noch gar nicht beachtet.
Da on duplicate gefällt mir noch besser. Da komme ich auf neue Ideen.

THXs

Gruß
sponer ist offline   Mit Zitat antworten
Alt 21.06.2007, 17:13  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

ON DUPLICATE KEY UPDATE entzog sich bisher auch meiner Kenntnis (und verspricht ja einiges an Mehrgewinn).
Etwas OT: Kennt jemand eine gute Referenz, die die mySQL Version angibt, in der ein SQL Syntaxelement wie bspw. ON DUPLICATE KEY UPDATE verfügbar ist? Die change history im Referenzhandbuch ist irgendwie unpraktikabel.
nikosch ist offline   Mit Zitat antworten
Alt 22.06.2007, 12:00  
Erfahrener Benutzer
 
Registriert seit: 17.01.2006
Beiträge: 468
Slava
Standard

OT:
Hi nikosch77
es ist wirklich langsam unübersichtlich geworden und ich kenne leider auch keine Referenz die genau sagt bei welchen Version eine oder andere extras dazu gekommen ist. Ausserdem funktionieren sogar manche querys von den älterne versionen bei den neuen auf ein mal nicht mehr (besonders bei create table) was natürlich besonders traurig ist. Manchmal lohnt es sich wegen kompatibilität alles mit standart-sql zu machen, auch wenn man dafür ein paar querys mehr ausführen muss.
__________________
Slava
http://bituniverse.com
Slava ist offline   Mit Zitat antworten
Alt 01.07.2007, 15:11  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Nachtrag:
Habe gerade gesehen, dass die MySQL Referenz von O'Reilly die jeweilige Version zur Verfügbarkeit der enthaltenen Anweisungen und Funktionen angibt.
nikosch ist offline   Mit Zitat antworten
Alt 01.07.2007, 16:02  
Erfahrener Benutzer
 
Registriert seit: 17.01.2006
Beiträge: 468
Slava
Standard

ist das online oder im buch?
wenn online, dann bitte ich dich ein link zu posten.
danke.
__________________
Slava
http://bituniverse.com
Slava ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
INSERT.. ON DUPLICATE KEY UPDATE cycap Datenbanken 3 26.10.2007 13:08
Pathfinding Algorithmus optimieren? (Algorith. von Dijkstra) Martin13 PHP Tipps 2007 19 04.09.2007 19:20
Update -> AffectedRows -> Insert R4v3r Datenbanken 6 12.06.2007 11:13
UPDATE eintrag falls vorhanden ansonsten INSERT Plague Datenbanken 4 19.01.2007 13:36
INSERT.. on duplicate key UPDATE... - sinnvoll? mrSpok Datenbanken 3 28.11.2006 10:14
Differenz zwischen 2 Zahlen duderino PHP Tipps 2006 19 10.08.2006 22:12
Weder Update noch Insert funktioniert... MessengerNews! Datenbanken 3 31.07.2006 08:39
Wenn datensatz existier update sonst insert axelnes Datenbanken 9 27.04.2006 23:49
[Erledigt] mysql: INSERT und wenn vorhanden UPDATE Datenbanken 7 07.01.2006 09:54
PRoblem mit Cookie bei PHPbb-Board PHP Tipps 2007 8 12.12.2005 20:56
PHP-Fehlermeldung, weiss nicht mehr weiter PHP Tipps 2005-2 12 21.09.2005 12:56
mysql dump einspielen (ohne phpmyadmin) PHP Tipps 2005-2 6 18.06.2005 21:50
[Erledigt] fehler den ich noch nie gesehen habe Datenbanken 7 09.06.2005 14:29
Insert und Update Befehl funktioniert nicht Anuschka Datenbanken 2 03.09.2004 00:38
HILFE: Column count doesn't match value count at row 1 Datenbanken 17 12.06.2004 16:45

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql insert update, on duplicate key update, update sonst insert, sql befehlaufbau

Alle Zeitangaben in WEZ +2. Es ist jetzt 06:27 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.