tag:forum.selfhtml.org,2005:/self MySQL - INSERT mit aktuellem AUTO_INCREMENT-Wert – SELFHTML-Forum 2007-05-01T12:32:25Z https://forum.selfhtml.org/self/2007/apr/25/mysql-insert-mit-aktuellem-auto_increment-wert/1112121#m1112121 Dodwin http://www.dodwin.de/ 2007-04-25T14:26:29Z 2007-04-25T14:26:29Z MySQL - INSERT mit aktuellem AUTO_INCREMENT-Wert <p>Hallo,</p> <p>Ich möchte gerne die aktuelle ID in die Tabelle miteinfügen.<br> Also bedeutet:</p> <p>$q = "INSERT INTO <code>user</code><br> (<code>feld</code>)<br> VALUES<br> ('Nr '.ID)";<br>        ^^</p> <p>Da wo jetzt noch ID steht soll also die ID hinkommen, die durch den Eintrag entsteht, also der nächste AUTO_INCREMENT-Wert.</p> <p>Durch Suchen habe ich mittlerweile rausgefunden, dass es mit <a href="http://dev.mysql.com/doc/refman/5.1/de/show-table-status.html" rel="nofollow noopener noreferrer">SHOW TABLE STATUS</a> möglich ist den AUTO_INCREMENT-Wert abzufragen, aber lieber wäre es mir wenn es anders ginge.</p> <p>Gruß,<br> Dodwin</p> <div class="signature">-- <br> <a href="http://www.dodwin.de/" rel="nofollow noopener noreferrer">Dodwin</a> </div> https://forum.selfhtml.org/self/2007/apr/25/mysql-insert-mit-aktuellem-auto_increment-wert/1112128#m1112128 dedlfix 2007-04-25T14:55:25Z 2007-04-25T14:55:25Z MySQL - INSERT mit aktuellem AUTO_INCREMENT-Wert <p>echo $begrüßung;</p> <blockquote> <p>Durch Suchen habe ich mittlerweile rausgefunden, dass es mit <a href="http://dev.mysql.com/doc/refman/5.1/de/show-table-status.html" rel="nofollow noopener noreferrer">SHOW TABLE STATUS</a> möglich ist den AUTO_INCREMENT-Wert abzufragen, aber lieber wäre es mir wenn es anders ginge.</p> </blockquote> <p>PHP: mysql_insert_id()<br> MySQL: LAST_INSERT_ID()</p> <p>echo "$verabschiedung $name";</p> https://forum.selfhtml.org/self/2007/apr/25/mysql-insert-mit-aktuellem-auto_increment-wert/1112126#m1112126 Heakl hackelk@gmx.de 2007-04-25T14:58:09Z 2007-04-25T14:58:09Z MySQL - INSERT mit aktuellem AUTO_INCREMENT-Wert <p>Huhu,</p> <p>alsoooo soweit mein MySql und Php wissen geht, ist es, wie du schon sagtest, ein Auto Increment, wenn dieses auch so in der Datenbank eingestellt ist reicht folgendes:</p> <p>$q = "Insert Into user('username') values('testuser')";</p> <p>Die Id wird beim Eintragen automatisch von der Datenbank generiert.</p> <p>Sollte das nicht der Fall sein, kannst du ja vorher ein Select abschießen:</p> <p>$q = "SELECT max(.id) FROM User"</p> <p>achso, sollte User eine Table sein in die du eigene Benutzer eintragen möchtest, so rate ich dir dazu da einen anderen Namen zu verwenden, denn es gibt in den meisten Datenbanken diese Tabelle bereits und zwar stehen da die User und die Zugriffsrechte für die Datenbank drin</p> <p>mfg der Heakl</p> https://forum.selfhtml.org/self/2007/apr/25/mysql-insert-mit-aktuellem-auto_increment-wert/1112124#m1112124 Dodwin http://www.dodwin.de/ 2007-04-25T16:56:36Z 2007-04-25T16:56:36Z MySQL - INSERT mit aktuellem AUTO_INCREMENT-Wert <p>Hallo Dodwin,</p> <p>Zwar nicht ganz so schön wie ich dachte, aber Problem gelöst:</p> <p>$q01a = mysql_query("SELECT max(id) as maxid FROM user");<br> $q01b = mysql_fetch_assoc($q01a);</p> <p>$q01a = "INSERT INTO <code>user</code><br> (<code>feld</code>)<br> VALUES<br> ('Nr ".($q01b['maxid']+1)."')";<br> $q01b = mysql_query($q01a);</p> <p>Gruß,<br> Dodwin</p> <div class="signature">-- <br> <a href="http://www.dodwin.de/" rel="nofollow noopener noreferrer">Dodwin</a> </div> https://forum.selfhtml.org/self/2007/apr/25/mysql-insert-mit-aktuellem-auto_increment-wert/1112122#m1112122 fastix® http://rotglut.org/ 2007-04-25T19:24:57Z 2007-04-25T19:24:57Z MySQL - INSERT mit aktuellem AUTO_INCREMENT-Wert <p>Moin!</p> <blockquote> <p>Hallo,</p> <p>Ich möchte gerne die aktuelle ID in die Tabelle miteinfügen.<br> Also bedeutet:</p> <p>$q = "INSERT INTO <code>user</code><br> (<code>feld</code>)<br> VALUES<br> ('Nr '.ID)";<br>        ^^</p> </blockquote> <p>Du kannst das jederzeit bein Abfragen machen. Beim Eintragen macht Dein Vorgehen alles außer Sinn, schon deswegen weil Du Grundregeln (Normalisierung) verletzt.</p> <p>Ein</p> <p>SELECT CONCAT('Nr. ',<code>id</code>) FROM <code>user</code>;</p> <p>behebt Dein Problem beim Auslesen. Und das ist gut so.</p> <p>http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_concat</p> <p>MFFG (Mit freundlich- friedfertigem Grinsen)</p> <p>fastix®</p> <div class="signature">-- <br> Als Freiberufler bin ich immer auf der Suche nach Aufträgen: <a href="http://seminar-training-schulung.de/" rel="nofollow noopener noreferrer">Schulungen</a>, <a href="http://seminar-training-schulung.de/" rel="nofollow noopener noreferrer">Seminare</a>, <a href="http://seminar-training-schulung.de/" rel="nofollow noopener noreferrer">Training</a>, <a href="http://webdesign.fastix.de/" rel="nofollow noopener noreferrer">Development</a> </div> https://forum.selfhtml.org/self/2007/apr/25/mysql-insert-mit-aktuellem-auto_increment-wert/1112123#m1112123 Dodwin http://www.dodwin.de/ 2007-04-27T18:42:06Z 2007-04-27T18:42:06Z MySQL - INSERT mit aktuellem AUTO_INCREMENT-Wert <p>Hallo fastix®,</p> <blockquote> <p>Du kannst das jederzeit bein Abfragen machen. Beim Eintragen macht Dein Vorgehen alles außer Sinn, schon deswegen weil Du Grundregeln (Normalisierung) verletzt.</p> </blockquote> <p>Das ganze soll aber soetwas wie ein Name sein. Er soll am Anfang eben "Nr. "+ID sein, wird aber später geändert.<br> Und da ist es eben am einfachsten einfach nochmal die ID reinzuschreiben, da es ja geändert wird.</p> <p>Gruß,<br> Dodwin</p> <div class="signature">-- <br> <a href="http://www.dodwin.de/" rel="nofollow noopener noreferrer">Dodwin</a> </div> https://forum.selfhtml.org/self/2007/apr/25/mysql-insert-mit-aktuellem-auto_increment-wert/1112125#m1112125 MudGuard http://www.andreas-waechter.de/ 2007-05-01T12:32:25Z 2007-05-01T12:32:25Z MySQL - INSERT mit aktuellem AUTO_INCREMENT-Wert <p>Hi,</p> <blockquote> <p>Zwar nicht ganz so schön wie ich dachte, aber Problem gelöst:</p> <p>$q01a = mysql_query("SELECT max(id) as maxid FROM user");<br> $q01b = mysql_fetch_assoc($q01a);</p> </blockquote> <p>Nimm mal an, _jetzt_ kommt auf dem Server ein Task-Switch, ein zweiter Request selektiert und fügt ein.<br> Jetzt kommt nach einem weiteren Task-Switch Dein Insert, und die id in der Spalte feld zeigt auf den vom anderen Task eingefügten Datensatz.</p> <blockquote> <p>$q01a = "INSERT INTO <code>user</code><br> (<code>feld</code>)<br> VALUES<br> ('Nr ".($q01b['maxid']+1)."')";<br> $q01b = mysql_query($q01a);</p> </blockquote> <p>Als sichere(re) Lösung fällt mir spontan ein:<br> insert mit Dummywert in der Spalte feld.<br> Dann ein update mit set feld=id</p> <p>cu,<br> Andreas</p> <div class="signature">-- <br> <a href="http://MudGuard.de/" rel="nofollow noopener noreferrer">Warum nennt sich Andreas hier MudGuard?</a><br> <a href="http://ostereier.andreas-waechter.de/" rel="nofollow noopener noreferrer">O o ostern ...</a><br> Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.<br> </div> https://forum.selfhtml.org/self/2007/apr/25/mysql-insert-mit-aktuellem-auto_increment-wert/1112127#m1112127 Dodwin http://www.dodwin.de/ 2007-04-25T15:35:40Z 2007-04-25T15:35:40Z MySQL - INSERT mit aktuellem AUTO_INCREMENT-Wert <p>Hallo Heakl,</p> <blockquote> <p>Die Id wird beim Eintragen automatisch von der Datenbank generiert.</p> </blockquote> <p>Ja. Und die ID, die von der Datenbank generiert wird will ich auch noch in ein anderes Feld schreiben und nicht nur ins ID-Feld.</p> <p>$q = "INSERT INTO <code>user</code><br> (<code>feld</code>)<br> VALUES<br> ('Nr '.ID)";</p> <p>Sagen wir mal der AUTO_INCREMENT-Wert ist 5, dann soll die 5 einmal in das ID-Feld geschrieben werden und in das feld mit dem Namen "feld" soll "Nr 5" geschrieben werden.</p> <blockquote> <p>$q = "SELECT max(.id) FROM User"</p> </blockquote> <p>Das wäre natürlich eine Möglichkeit aber auch wieder nur durch ein Umweg...<br> Ich hatte gehofft es ginge direkt.</p> <blockquote> <p>achso, sollte User eine Table sein in die du eigene Benutzer eintragen möchtest, so rate ich dir dazu da einen anderen Namen zu verwenden, denn es gibt in den meisten Datenbanken diese Tabelle bereits und zwar stehen da die User und die Zugriffsrechte für die Datenbank drin</p> </blockquote> <p>OK. Danke der Information.</p> <p>Gruß,<br> Dodwin</p> <div class="signature">-- <br> <a href="http://www.dodwin.de/" rel="nofollow noopener noreferrer">Dodwin</a> </div> https://forum.selfhtml.org/self/2007/apr/25/mysql-insert-mit-aktuellem-auto_increment-wert/1112129#m1112129 Dodwin http://www.dodwin.de/ 2007-04-25T15:19:23Z 2007-04-25T15:19:23Z MySQL - INSERT mit aktuellem AUTO_INCREMENT-Wert <p>Hallo dedlfix,</p> <blockquote> <p>PHP: mysql_insert_id()<br> MySQL: LAST_INSERT_ID()</p> </blockquote> <p>Beides ist mir bekannt und beides bezieht sich nur auf die aktuelle Sitzung und einen vorher eingefügten Eintrag und hilft mir somit nicht weiter.</p> <p>Gruß,<br> Dodwin</p> <div class="signature">-- <br> <a href="http://www.dodwin.de/" rel="nofollow noopener noreferrer">Dodwin</a> </div>