Qual è l'equivalente della funzione SQLServer SCOPE_IDENTITY() in mySQL?L'equivalente della funzione SQLServer SCOPE_IDENTITY() in mySQL?
21
A
risposta
52
This è quello che state cercando:
LAST_INSERT_ID()
In risposta al commento del PO, ho creato il seguente banco di prova:
CREATE TABLE Foo
(
FooId INT AUTO_INCREMENT PRIMARY KEY
);
CREATE TABLE Bar
(
BarId INT AUTO_INCREMENT PRIMARY KEY
);
INSERT INTO Bar() VALUES();
INSERT INTO Bar() VALUES();
INSERT INTO Bar() VALUES();
INSERT INTO Bar() VALUES();
INSERT INTO Bar() VALUES();
CREATE TRIGGER FooTrigger AFTER INSERT ON Foo
FOR EACH ROW BEGIN
INSERT INTO Bar() VALUES();
END;
INSERT INTO Foo() VALUES(); SELECT LAST_INSERT_ID();
Ciò restituisce:
+------------------+
| LAST_INSERT_ID() |
+------------------+
| 1 |
+------------------+
Quindi utilizza lo LAST_INSERT_ID()
della tabella originale e non la tabella INSERT
all'interno del trigger.
Modifica: Mi sono reso conto dopo tutto questo tempo che il risultato dello SELECT LAST_INSERT_ID()
mostrato nella mia risposta era errato, anche se la conclusione alla fine era corretta. Ho aggiornato il risultato per essere il valore corretto.
0
aperta MySql comando tipo SELECT LAST_INSERT_ID();
poi ENTER
Problemi correlati
- 1. Uso corretto della funzione SCOPE_IDENTITY all'interno della stored procedure semplice
- 2. Abilitazione della funzione di controllo in SQLServer 2005
- 3. Archiviazione FILESTREAM in SqlServer -> MySQL equivalente?
- 4. SCOPE_IDENTITY in C# - range
- 5. Scope_Identity() in Microsoft Access
- 6. Equivalente MySQL della funzione DECODE in Oracle
- 7. SCOPE_IDENTITY non funziona in asp.net?
- 8. scope_identity vs ident_current
- 9. SCOPE_IDENTITY() non funzionante
- 10. creando vista in sqlserver
- 11. Funzione deterministica in mysql
- 12. Problema della funzione di aggregazione MySQL
- 13. Oracle e la funzione SQLServer di valutazione nelle query
- 14. deadlock SQLServer
- 15. sql-Locks concept in sqlserver
- 16. 2 valori float in sqlserver
- 17. Speciale per XML in SqlServer
- 18. Usa Django pyodbc Problema SQLSERVER
- 19. SqlServer e nvarchar (max)
- 20. modalità stato sessione asp.net "SQLServer"
- 21. Come faccio a trasmettere Scope_Identity() a Int?
- 22. Utilizzo di "SELEZIONA SCOPE_IDENTITY()" nel recordset ADODB
- 23. MySQL: uso non valido della funzione di gruppo
- 24. SQLServer non trova la funzione funzione definita dall'utente nella procedura memorizzata
- 25. query mysqli/mysql all'interno della funzione non funzionante
- 26. Imposta variabile su SCOPE_IDENTITY all'interno dell'istruzione IF
- 27. Limitare la dimensione di NVARCHAR in SQLServer?
- 28. SqlServer è in modalità aggiornamento script
- 29. len() Vs datalength() in sqlserver 2005
- 30. Problemi con node-sqlserver in node.js
Grazie Sean. Come si comporta quando la tabella in cui sto inserendo i dati ha un trigger che inserisce dati in un'altra tabella che ha anche un campo di autoincremento? Restituisce l'ID della tabella originale o quella influenzata dal trigger? – kristof
Grazie Sean per testare questo – kristof
Grazie ... per la risposta –