www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Praxis" - ruby und mySQL
ruby und mySQL < Praxis < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Praxis"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

ruby und mySQL: on_duplicate_key_update
Status: (Frage) überfällig Status 
Datum: 09:26 Do 08.03.2012
Autor: Stoecki

Hallo zusammen,

ich habe mal wieder eine recht spezielle Frage und hoffe, dass mir wer weiterhelfen kann. es geht um das on_duplicate_key_update in mySQL. Soweit wie ich diese operation verstehe, überschreibt sie im falle eines meherer schnell aufeinander folgender updates einen bestehenden eintrag in einer datenbank, insofern der unique bzgl eines keys sein soll. beispiel. es wird ein objekt gespeichert. noch bevor der speichervorgang abgeschlossen ist wird das selbe objekt erneut in die datenbank geschickt. anstatt nun einen fehler zu werfen, wird der erste eintrag einfach überschrieben. soweit richtig?

ich habe nun versucht das ganze in meiner ruby-app zu implementieren. hier der code

   @users = @program.users.build(olduser)
    User.import(@users, :on_duplicate_key_update => [:position])
    @users = @progam.users.new(newuser)
    User.import(@users.select{|u| !u.persisted?})

wir haben hier also zwei datenbanktabellen User und Program. Die Relation zwischen diesen Tabellen ist User belongs_to Program und Program has_many User
Im Falle eines Updates wird nur die position des Users verändert (nicht der name, der als key verwendet wird. olduser und newuser sind arrays of hashes, wobei ein hash die form {:name = xy, :position = z} hat.
mein problem ist, dass in der zweiten zeile kein update durchgeführt wird. weiß jemand wie der code an der stelle richtig heißen müsste?

gruß bernhard

        
Bezug
ruby und mySQL: Fälligkeit abgelaufen
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 18:20 Fr 16.03.2012
Autor: matux

$MATUXTEXT(ueberfaellige_frage)
Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Praxis"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]