Mailinglisten-Archive |
ReHi! > gibt es einen startwert/endwert fuer auto_increment ? Waere mir neu, mag es aber vielleicht bei dem einen oder anderen RDBMS geben. Standardmaessig sicher nicht. > genauer: ich muss in einer DB, ID's vergeben jedoch habe ich nur > zahlenwerte zwischen x und y. > kann mir jemand helfen ? >also, ich darf nur werte zwischen 11000000 und 11999999 verwenden und >will das auto_incremented field bei 11000000 anfangen lassen. >klar koennte ich das mit php ein autoincrement selber nachbauen, aber >vielleicht gibts das rad ja schon ;) >und da dieses auto_incremented field nicht groesser sein soll als 11999999 >muesste auch ein endwert festgelegt werden. Das kannst Du mit so ziemlich jeder Programmiersprache schon von Hand leicht selbstmachen, entweder indem Du die ID's halt extern programmiertechnisch selbst nachhaeltst (haette den Reiz, dass Du wieder "freigewordene" IDs dann leicht wiederverwenden kannst), oder indem Du einfach vor dem Insert per Select den jeweils vergebenen Maximalwert der IDs ermittelst und dann halt die naechste ID (+1) manuell einfuegst (dann wuerdest Du auch mit reinen SQL-Statements auskommen, ohne grosse Programmiererei in anderen Sprachen. Ist beides keine Hexerei. Eine weitere Moeglichkeit koennte darin liegen, einfach einen normalen "internen" auto_increment-Wert als interne ID zu nehmen, und eine zweite ("Pseudo"-)ID, die dann nach aussen hin sichtbar wird und benutzt wird, einfach durch Addition zu erzeugen (sichtbareID=auto_incrementID+11000000). Damit haettest Du schon mal beim gewuenschten Wert anfangende ID's, das Problem mit dem Hoechstwert hast Du damit natuerlich nicht geloest. Waere aber sowieso ein Problem, denn was machst Du dann beim 1.000.000sten Wert, wenn alle ID's verbraucht sind? Eine bloede Frage nebenbei: WARUM um Gottes Namen darst Du nur Werte im genannten Bereich verwenden? Kann es sein, dass da am DB-Design etwas stark verbesserungswuerdig ist? ;-)) Gruss / Greetings Bruno Dickhoff, Moenchengladbach, Germany Fon: +49.179.2982466 Fax: +49.2161.460591 ICQ# 32643372 --- *** Abmelden von dieser Mailingliste funktioniert per E-Mail *** an mysql-de-request_(at)_lists.4t2.com mit Betreff/Subject: unsubscribe
php::bar PHP Wiki - Listenarchive