Da bekomme ich eine Fehlermeldung, die mir auch logisch erscheint: sie besagt in etwa, daß ich die ID nicht doppelt eingeben kann. (klar: einmal steht in meinem sql-statement eine ID und zugleich versucht auto_increment eine zu vergeben)
Hi,
genau aus diesem Grunde haben gute Datenbanksysteme wie z.b. Oracle so ein Feature nicht. Aber das hilft dir im Moment recht wenig.
Du hast die Wahl:
a) du mußt die komplette Tabelle in MySQL löschen und deine einspielen
---> hat den evt. nachteil, daß du insofern keinen Datenabgleich (von dir lokal neu eingegebene Daten beim Provider hinzufügen) machen kannst, sondern immer nur einen vollen Datenstamm importieren mußt, was sich unter Umständen auf alle Tabellen deiner DB ausdehnen kann.
b) du fügst deine Daten datensatzweise der bestehenden Tabelle hinzu und läßt die ID über das auto_increment dort vergeben, dann kommen unter umständen aber Referenzmodelle durcheinander
c) du arbeitest auf dem Server des Providers nicht mit auto_increment, sondern maximal bei dir zuhause lokal, dann bleiben Referenzmodelle (tabelle1.id zu tabelle2.tab1id) erhalten. Allerdings müßtest du, wenn viel über fertigen php-seiten online als Interface in die Datenbanktabelle reinsoll immer die neue ID von hand generieren (max(id) abrufen -> neue ID = alteMaxID + 1)
d) du findest eine Möglichkeit für ein override für das auto_increment, was es aber imho nicht gibt, bzw. hab noch nie davon gehört.
Du siehst, 3 mögliche Möglichkeiten, die aber immer einen bestimmten Nachteil mitsichbringen, was für mich dieses feature (auto_increment) nicht gerade sinnvoll macht. Deshalb muss abe rnicht gleich mySQL schlecht sein. :-)
Falls jemand einen guten Workaround für dieses Problem kennt, da bin ich ganz Ohr :-) man lernt ja nie aus :-)
So, tschö(nen Feierabend)
Frank