13 messages in com.mysql.lists.mysql-deRe: Replication Frage| From | Sent On | Attachments |
|---|---|---|
| Thomas Goik | 22 Jan 2008 00:13 | |
| Marcus Franke | 22 Jan 2008 01:44 | |
| Thomas Goik - echtwahr.com | 22 Jan 2008 02:05 | |
| Marcus Franke | 22 Jan 2008 02:24 | |
| Thomas Goik - echtwahr.com | 22 Jan 2008 02:32 | |
| Sebastian Mendel | 22 Jan 2008 02:51 | |
| Thomas Goik - echtwahr.com | 22 Jan 2008 06:21 | |
| Sebastian Mendel | 22 Jan 2008 06:50 | |
| Marcus Franke | 22 Jan 2008 07:32 | |
| Sebastian Mendel | 23 Jan 2008 00:11 | |
| Thomas Goik - echtwahr.com | 23 Jan 2008 00:30 | |
| Sebastian Mendel | 23 Jan 2008 01:08 | |
| Thomas Goik - echtwahr.com | 25 Jan 2008 01:39 |
| Subject: | Re: Replication Frage![]() |
|---|---|
| From: | Sebastian Mendel (lis...@sebastianmendel.de) |
| Date: | 01/22/2008 06:50:36 AM |
| List: | com.mysql.lists.mysql-de |
Thomas Goik - echtwahr.com schrieb:
Hallo Sebastian;
was mich viel mehr wundert ist "Doppelter Eintrag '28924318'" für "user_id = 177158", wie geht das?
hast du mehr als ein UNIQUE (den PK auf user_id) in der Tabelle?
Ja!
Unique id Unique (user_id, name) Er bezieht sich be idem unqiue fehler aus die ID, die schon vergeben sein soll, wäre ja auch okay, daher soll es ja der replace richten, und nicht ein einfacher insert
kannst du mal die gesamte Tabellenstruktur zeigen?
REPLACE verhält sich aber wie INSERT, schon klar!? (nur das eventuell vorher eine Zeile gelöscht wird)
REPLACE = (DELETE FROM tab WHERE user_id = 177158 AND name = 'item_bought') INSERT INTO tab set user_id = 177158, name = 'item_bought', value = 0
^^ da fehlt der Wert für ID
also werden keine Werte einer besteheden und eventuell vorher gelöschten Zeile übernommen, also auhc nicht die ID, die wird je nach deinem Modell wenn es ein autoincrement ist neu erzeugt, wenn es kein autoincrement ist ist es klar das es fehlschlägt
-- Sebastian




