php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 16.07.2008, 10:59  
Neuer Benutzer
 
Registriert seit: 16.07.2008
Beiträge: 4
Oetzi befindet sich auf einem aufstrebenden Ast
Standard Abfrage was er gemacht hat INSERT ... ON DUPLICATE KEY

Hallo,

ich denke die Überschrift sagt schon alles was ich machen will. Ich schicke einen Query ab mysql_query("INSERT ... ON DUPLICATE KEY UPDATE ...")

Jetzt möchte ich anschließend feststellen was er gemacht hat den insert oder das update wie kann ich das machen?

Danke schon mal für die Antworten.

Oetzi
Oetzi ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 16.07.2008, 11:01  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Hmm wie wärs wenn man dafür mysql_insert_id() benutzt? Müsste doch gehen oder?
cycap ist offline   Mit Zitat antworten
Alt 16.07.2008, 11:07  
Neuer Benutzer
 
Registriert seit: 16.07.2008
Beiträge: 4
Oetzi befindet sich auf einem aufstrebenden Ast
Standard

Daran hab ich auch schon gedacht aber leider liefert mysql_insert_id() in beiden fällen ein gültiges Ergebnis wobei einmal die id der vorhandenen Zeile zurückgegeben wird. Aber das hilft mir ja nicht weiter weil ich eben nicht erkennen kann ob die id ne alte oder neue ist.

Geändert von Oetzi (16.07.2008 um 11:15 Uhr).
Oetzi ist offline   Mit Zitat antworten
Alt 16.07.2008, 11:19  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Führ doch einfach ein DATETIME-Feld mit was bei einem Update aktualisiert wird und lese das aus... nen einfacherer Weg ohne zweite Abfrage fällt mir jetzt nicht ein...
cycap ist offline   Mit Zitat antworten
Alt 16.07.2008, 11:26  
Neuer Benutzer
 
Registriert seit: 16.07.2008
Beiträge: 4
Oetzi befindet sich auf einem aufstrebenden Ast
Standard

Würde gern auf eine zweite Abfrage verzichten da ich im moment versuche die Datenbank abfragen in meinem System zu minimieren also vllt fällt jemand noch eine andere Lösung ein.
Oetzi ist offline   Mit Zitat antworten
Alt 16.07.2008, 12:43  
Erfahrener Benutzer
 
Registriert seit: 28.03.2008
Beiträge: 1.847
HPR1974 wird schon bald berühmt werden
Standard

mysql_affected_rows() gibt Dir beim insert eine 1 beim update eine 2 zurück sofern nur ein Datensatz betroffen ist...
HPR1974 ist offline   Mit Zitat antworten
Alt 16.07.2008, 13:07  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Echt? Hmm aber warum gibt der eine 2 zurück?
cycap ist offline   Mit Zitat antworten
Alt 16.07.2008, 13:15  
Erfahrener Benutzer
 
Registriert seit: 28.03.2008
Beiträge: 1.847
HPR1974 wird schon bald berühmt werden
Standard

aus dem Manual:

Wenn Sie mit INSERT ... ON DUPLICATE KEY UPDATE eine Zeile einfügen, liefert mysql_affected_rows() den Wert 1, wenn die Zeile als neue Zeile eingefügt wurde, und 2, wenn eine vorhandene Zeile geändert wurde
HPR1974 ist offline   Mit Zitat antworten
Alt 16.07.2008, 13:16  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Ach das ist absicht na denn
cycap ist offline   Mit Zitat antworten
Alt 16.07.2008, 13:23  
Erfahrener Benutzer
 
Registriert seit: 28.03.2008
Beiträge: 1.847
HPR1974 wird schon bald berühmt werden
Standard

hehe was dachtest Du denn?
HPR1974 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 - Abfrage nixdorf Datenbanken 7 27.12.2007 18:08
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
Verständnisprobleme bei Utf8 > Character Set > Collate erna Datenbanken 4 20.03.2007 14:08
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
PRoblem mit Cookie bei PHPbb-Board PHP Tipps 2007 8 12.12.2005 20: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
dynamisches MENÜ aus db lesen.probleme mit SUBid !! PHP Tipps 2005 26 24.03.2005 18:53
dem verzweifeln nahe PHP Tipps 2004 26 24.10.2004 17:28
Zeile einfach überspringen bei Unique-Verletzung tapferesschneiderlein Datenbanken 6 03.09.2004 14:29
Select abfrage / Insert stefan-miti PHP Tipps 2004 10 15.08.2004 20:35
Abfrage aus DB noch mal ausgeben und Abfrage aus mehrern Tab PHP Tipps 2004 4 12.07.2004 15:00
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
php on duplicate key, on duplicate key update, \on duplicate key (insert\, php insert on duplicate key, on duplicate key abfragen, on duplicate id zurückgeben, mysql on duplicate key neue zeile, mysql insert on duplicate key update feststellen was gemacht wurde, php mysql_query insert on duplicate key satz überspringen, insert on duplicate, mehrere zeilen insert on duplicate key update, insert abfrage keine duplikate, on duplicate id des updates herausfinden, mysql on duplicate key update altest feld neues feld, http://www.php.de/datenbanken/2113-abfrage-er-gemacht-hat-insert-duplicate-key.html, insert duplicate, abfrage für dublikate php, php die duplicate key, php abfrage bei 2 schlüssel, mysql_affected_rows insert on duplicate key update

Alle Zeitangaben in WEZ +2. Es ist jetzt 07:30 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