Wenn ich einen neuen Eintrag in meiner MySQL-Datenbank erstellen möchte, möchte ich, dass die Abfrage die ID der gerade erstellten Tabelle zurückgibt. Wenn es das nicht kann, gibt es einen anderen Weg, diese ID herauszufinden? Der Grund, warum ich das tun möchte, ist, dass ich eine neue Zeile mit der Zeile verbinden kann, die sie hervorgebracht hat (und es gibt keine Garantie, dass sie fortlaufend sind)Gibt es eine Möglichkeit, die ID einer Zeile, die gerade in MySQL erstellt wurde, mit PHP zurückzugeben?
4
A
Antwort
11
Sie meinen, letzte autoincrement id?
<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db('mydb');
mysql_query("INSERT INTO mytable (product) values ('kossu')");
printf("Last inserted record has id %d\n", mysql_insert_id());
?>
6
Sie wollen mysql_insert_id()
2
Haben Sie die ID des Datensatzes bedeuten, haben Sie gerade in eine Tabelle eingefügt, wenn so sind Sie für mysql_insert_id suchen.
2
haben einen Blick auf http://us3.php.net/mysql_insert_id
0
Sie haben LAST_INSERT_ID() in My SQL (@@ identity in MS SQL) und mysql_insert_id in PHP.
Persönlich versuche ich jedoch, automatische Inkremente/Identitätsspalten zu vermeiden und meine IDs auf andere Weise zu generieren. Unter anderem, weil sie das Einfügen in mehrere Tabellen schwieriger machen.
/B
1
Verwenden Sie die mysql_insert_id Funktion ... http://php.net/mysql_insert_id
Excuse die Unterstrichen 'Einfügen' in Kursivschrift Umwandlung ... folgen Sie dem Link, und Sie sollten in Ordnung sein.
Verwandte Themen
- 1. Gibt es eine Möglichkeit, MySQL dazu zu bringen, die von einem INSERT-Befehl erzeugte Zeile zurückzugeben?
- 2. Gibt es eine Möglichkeit, die Standard-ID-Spalte zu ändern, die automatisch erstellt wird?
- 3. Gibt es eine Möglichkeit, mehrere Ergebnisse mit einer Unterabfrage zurückzugeben?
- 4. Gibt es eine Möglichkeit, die Parserzeit in PHP zu messen?
- 5. MySQL gibt eine Zeile
- 6. Gibt es eine Möglichkeit zu zeigen, wann die Tabelle aktualisiert/erstellt wurde?
- 7. gibt es eine Möglichkeit, die Formulardaten in PHP zu löschen?
- 8. gibt es eine Möglichkeit, die Videolänge in PHP zu bekommen?
- 9. Gibt es eine Möglichkeit, die Objektpermanenz in memcached zu garantieren?
- 10. Gib die ID der gerade hinzugefügten Zeile zurück.
- 11. Gibt es eine Möglichkeit, verwaiste Klassen in einer Webanwendung zu identifizieren, die mit HTML, JavaScript und CSS erstellt wurde?
- 12. Gibt es eine Möglichkeit, die Pixellänge einer Zeichenfolge zu berechnen?
- 13. Laravel - Gibt es eine Möglichkeit, eine Ansicht zurückzugeben und herunterzuladen?
- 14. Gibt es eine Möglichkeit, ein PHP-Skript von MySQL auszuführen?
- 15. Gibt es eine Möglichkeit, die TaskManager-ID in einer Map in Apache Flink zu erhalten?
- 16. Gibt es eine Möglichkeit, eine zugeordnete Abfrage als Zeile anzuzeigen?
- 17. Gibt es eine Möglichkeit mit Apache Ant eine JAR-Datei zu aktualisieren, nachdem sie erstellt wurde?
- 18. Wie die ID einer Reihe bekommen i php gerade eingefügt haben/mysql
- 19. Gibt es eine Möglichkeit, anonyme Methode von Methode zurückzugeben?
- 20. Gibt es eine einfache Möglichkeit, das FIRST LinqToXML-Ergebnis zurückzugeben?
- 21. PHP & MySQL: Ist es möglich, nach dem Ausführen von mysql_query mit einer Einfügung die ID der neuen Zeile zu erhalten?
- 22. Gibt es eine einfache Möglichkeit, eine Aufgabe mit einer Ausnahme zurückzugeben?
- 23. Gibt es eine Möglichkeit, die Vererbung einzuschränken?
- 24. ASP.NET MVC - Gibt es eine Möglichkeit, 2 PartialViews zurückzugeben?
- 25. Gibt es eine Möglichkeit, meine Funktion ein dynamisches Array zurückzugeben?
- 26. Gibt es eine Möglichkeit, eine JavaScript (oder jQuery) -Funktion, die gerade ausgeführt wird, zwangsweise abzubrechen?
- 27. Gibt es eine Möglichkeit, die verstrichene Zeit zu erhalten, für die ein Rails-Server ausgeführt wurde?
- 28. Gibt es eine Möglichkeit, die Eigenschaften einer Struktur zu durchlaufen?
- 29. Wie kann ich eine Variable aus einer ID machen, die erstellt wird, nachdem der Artikel mit der ID erstellt wurde?
- 30. Gibt es eine Möglichkeit zu erkennen, dass Anfragen an eine Webanwendung, die mit Java erstellt wurde, vom selben Client kommen?
Werfen Sie einen Blick in das PHP-Handbuch: http://docs.php.net/manual/en/ref.mysql.php – Gumbo