php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 08.02.2006, 15:28  
Benutzer
 
Registriert seit: 05.09.2004
Beiträge: 72
/tmp
Standard auto increment synchronisieren

Ist es möglich, dass zwei Tabellen (MySQL 5) den selben auto increment wert haben?
Wenn also in die eine Tabelle ein Datensatz eingefügt wird, erhöht sich der Autoincrementwert auch in der anderen? Ist recht dringend...

Danke im Voraus!
__________________
I hacked 127.0.0.1!
/tmp ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 08.02.2006, 15:33  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Durch manuelle Synchronisation zB mit
http://dev.mysql.com/doc/refman/5.0/...unique-id.html

http://www.lugbz.org/documents/smart...de.html#urgent
Zergling-new ist offline   Mit Zitat antworten
Alt 08.02.2006, 16:47  
Benutzer
 
Registriert seit: 05.09.2004
Beiträge: 72
/tmp
Standard

Zitat:
Durch manuelle Synchronisation zB mit
Arrow http://dev.mysql.com/doc/refman/5.0/...unique-id.html
Ja, nur hab ich da das Problem, dass ich Gefahr laufe, Race-Conditions zu produzieren. Was, wenn just in dem Moment, wo ich die Last Insert ID ausgelesen habe (sie aber noch nicht synchronisiert habe), ein neuer Datensatz eingefügt wird? Dann ist die ganze Architektur inkonsistent! Das Risiko möchte ich nicht eingehen.

Ich suche eher nach einer Möglichkeit, das direkt mit MySQL zu machen.
So in der Art:
Code:
INSERT INTO TABLE A ...;
ALTER TABLE B AUTO_INCREMENT = LAST_INSERT_ID();
Funktioniert so nur leider nicht


Ist mir bewusst. Habe es auch nur angemerkt, und nicht meine Frage als "Wichtig" oder "Dringend" gekennzeichnet. Versteh es als Information, dass mir eine Antwort nächste Woche nicht weiter hilft. Aber ich will hier keine "Netiquette" Diskussion anfangen.
__________________
I hacked 127.0.0.1!
/tmp ist offline   Mit Zitat antworten
Alt 08.02.2006, 17:15  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Erklär doch mal was du insgesamt vorhast.
Zergling-new ist offline   Mit Zitat antworten
Alt 08.02.2006, 22:37  
Benutzer
 
Registriert seit: 05.09.2004
Beiträge: 72
/tmp
Standard

Habe das Problem mittlerweile mit MERGE Tabellen gelöst.

Trotzdem schildere ich kurz nochmal das Problem und auch die Lösung:
Geht um ein Forum mit ziemlich vielen Beiträgen.
2 Tabellen: eine mit Fragen, eine mit Antworten.
Beide Tabellen gibt es in doppelter Ausfertigung. In einer sind alle Beiträge der letzten 12 Monate, in der anderen alle älteren. Wir haben mittlerweile weit über 1 Mio. Datensätze und entsprechend machte uns die Performance etwas zu schaffen. Da aber die alte Beiträge sowieso nur in Ausnahmen aufgerufen werden, wollte ich diese weg archivieren.
Bei den Übersichten werden sowieso nur die "neuen" Beiträge angezeigt. Ging halt in erster Linie darum, dass alte Links trotzdem noch erreichbar bleiben. Wenn ein Beitrag aufgerufen wird, wird zuerst geschaut, ob er in der neuen Tabelle zu finden ist, ist das nicht der Fall, wird in der alten Tabelle gesucht.

Wenn jetzt aber eine Antwort auf eine Archiv-Frage gestellt wird, ist die Frage, in welche Datenbank ich sie packe: in die neue oder in die alte. Wenn ich sie in die neue packe, die anderen Antworten aber in der alten sind, kriege ich beim Auslesen (Sortierung, Limits, etc.) Probleme (dafür dann eben die MERGE Tabelle).
Packe ich sie aber in die Archiv Tabelle, kriege ich Probleme mit der Auto Increment ID.
Habe es jetzt so gelöst, dass die neuen Beiträge auf alte Fragen immer in die neue Tabelle kommen und eine Merge Tabelle sowohl die Archiv- als auch die neue Tabelle vereinen und ich die Queries über beide Datenbank absetzen kann.
Problem also gelöst

Trotzdem danke!
__________________
I hacked 127.0.0.1!
/tmp ist offline   Mit Zitat antworten
Alt 08.02.2006, 23:01  
Gast
 
Beiträge: n/a
Standard

ich weiß nicht inwieweit und in welcher version mysql constraints oder transaktionen unterstützt, aber für doofe mehrfacheinfügungen gibts noch LOCK TABLE, damit kann man wenigstens ne serialisierte Ausführung erzwingen, damit einem keiner ins Handwerk pfuscht, während man seine updates macht...
  Mit Zitat antworten
Alt 08.02.2006, 23:02  
Benutzer
 
Registriert seit: 05.09.2004
Beiträge: 72
/tmp
Standard

Naja, ist trotzdem etwas unsauber, die Auto Increments manuell abzugleichen...
Merge Tables sind in diesem Fall schon ideal.
__________________
I hacked 127.0.0.1!
/tmp ist offline   Mit Zitat antworten
Alt 08.02.2006, 23:09  
Gast
 
Beiträge: n/a
Standard

kenn ich gar nicht, ist das ne mysql-spezifische sache? mein meester sagt, sowas geht mit triggern... aber ich bekomme sowieso nen hals, es ist schon unverschämt, wie unterschiedlich die systeme arbeiten.
  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
Abfage mit * im Wort "aut*" = auto, autos, autoha atoniusg Datenbanken 2 20.03.2008 18:58
Auto Increment spacedone PHP Tipps 2008 1 12.09.2007 09:47
2 Datenbanken synchronisieren Datenbanken 0 30.03.2006 14:28
[Erledigt] id mit auto increment -nummerierung neu starten Datenbanken 6 23.10.2005 22:32
Vorformartiertes Increment Datenbanken 3 10.10.2005 13:32
Das [alte] Auto ist rot .... Das _____ Auto ist rot. janni PHP Tipps 2005 8 17.05.2005 08:37
auto increment zurücksetzen rocco Datenbanken 6 05.05.2005 19:20
AUTO INCREMENT mit Zeichen und Zahlen Datenbanken 1 25.02.2005 13:02
AUTO INCREMENT mit Zeichen und Zahlen PHP Tipps 2005 5 24.02.2005 16:07
Wie weit geht AUTO INCREMENT? socke Datenbanken 5 05.01.2005 15:14
auto increment PHP Tipps 2004 10 08.11.2004 14:46
2 Tabellen synchronisieren... Datenbanken 0 28.09.2004 11:27
[Erledigt] Auto Increment über 2 Spalten Datenbanken 2 21.09.2004 19:52
[Erledigt] auto increment Wert Datenbanken 17 27.08.2004 12:32
Kleines problem mit ID auto Increment oder so :( PHP Tipps 2004 3 09.06.2004 19:29

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql auto_increment synchronisieren, synchronize auto increment two tables mysql, problem auto increment erhöht sich, mysql 5.0 autoincrement negativ, auto sync zwischen php und datenbank, mysql incremental synchronisation, mysql 2 tabellen in einer datenbank automatisch synchronisieren, alter table autoincrement mehrere tabellen, zwei increment in einer tabelle, inkonsistenz last insert id, mysql spalten synchronisieren, alter table auto_increment performance, auto_increment 2 tabelle syncron machen, auto_increment in zwei tabellen, php auto_increment neu anfangen, datenbanken synchronisieren mysql auto increment, mysql autoincrement neuordnen, mysql daten synchronisieren und tabellen vereinen, alter table `user` auto_increment =15, php mysql zwei tabellen id synchronisieren

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