webForumDet fria alternativet

Använda värdet från ett Auto Increment -fält direkt?

Databaser & SQL

3 svar · 393 visningar · startad av mmmMange

Medlem sedan jan. 2005110 inlägg
Frågan#1

Vi säger att jag har en tabell som ser ut såhär:

id AUTO INTEGER
replyto_id INTEGER

Jag vill göra en INSERT, och då ska replyto_id sättas till samma värde som id. Typ såhär (fast detta fungerar ju inte):
INSERT INTO tabell (replyto_id) VALUES(id)

Så om id blir 37 så ska även replyto_id vara 37. Går det genom bara ett anrop till databasen? Annars får man ju använda LAST_INSERT_ID() och köra en UPDATE efter INSERT'en, men det hade varit smidigt att slippa det.

Medlem sedan mars 20032 667 inlägg
#2

Du kan använda mysql_insert_id() också.
http://se2.php.net/manual/en/function.mysql-insert-id.php

Medlem sedan mars 20032 667 inlägg
#3

Läste nog lite tokigt först. :(

Det går möjligen i Mysql 5. Innan dess har man iaf inte kunnat använda flera statements i en och samma sql-fråga.

Medlem sedan mars 20025 907 inlägg
#4

Tråden flyttas från PHP!

258 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)
131 ms — ändringar (db)