Thread Insert Into... On Duplicate Key Update... (20 answers)
Opened by rosti at 2012-05-25 20:39

pq
 2012-05-26 11:55
#158628 #158628
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
2012-05-26T06:31:53 rosti
Quote
wie gesagt, es ist nicht trivial, und wenn du es benutzt, solltest du dir über sowas im klaren sein.


Ja natürlich, ist klar ;)

so natürlich ist das nicht. du hast behauptet, dass man mit last_insert_id einfach checken kann, ob ein insert stattgefunden hat und ich habe gezeigt, dass das so einfach nicht geht.

dann benutze lieber $sth->rows und checke vorher, ob du nicht die mysql-version mit dem bug vorliegen hast.

Quote
Edit: Es ist ja auch unsinnig, _jeder_ Tabelle eine autoincrement-Spalte zu verpassen.

wer hat denn jetzt schon wieder behauptet, jeder tabelle ein autoincrement verpassen zu müssen?

Quote
Meine Threaderöffnung ist übrigens auch eine selbstkritische Betrachtung.

komisch, ist mir gar nicht aufgefallen. der ganze thread klingt nach "das ist eine unsitte und ich weiss, wie mans besser macht" und nur stellenweise ein "ich habe es aber auch mal so gemacht".

und ein select+insert pauschal als unsitte zu bezeichnen, ist schon fast wieder lustig.

2012-05-25T21:25:27 rosti
Also, von der Sache her werden IDs nur dann gebraucht, wenn in weiteren, verknüpften Tabellen neue Datensätze hinzukommen, was bei einem Update in Fakt nicht der Fall ist

das ist wieder so ein punkt, der pauschal überhaupt nicht gilt. ich habe einen string, will ihn in einer tabelle ablegen und brauche die id, um in einer weiteren tabelle einen neuen datensatz mit dieser id einzufügen. und dabei ist es für die weitere tabelle total uninteressant, ob der datensatz neu ist oder schon da war. ich brauche in jedem fall die id, auch wenn kein insert stattgefunden hat.

vielleicht solltest du einfach mal davon ausgehen, dass es ausser deiner kleinen welt noch sehr viele andere anwendungsfälle gibt.

und wenn du nur von deinen eigenen anwendungsfällen redest, dann schreib das bitte dazu. so in der art "Also, von der Sache her werden hier in meinem Anwendungsfall IDs nur dann gebraucht [...]"
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem

View full thread Insert Into... On Duplicate Key Update...