Mysql
 sql >> Database >  >> RDS >> Mysql

Genera ID lungo univoco per una vista in MySql

AGGIORNAMENTO:quando insisti per averlo come numero, crea la tua vista in questo modo:

SELECT
(@rownum:[email protected] + 1) AS rownumber,
yourTable.*
FROM
yourTable
, (SELECT @rownum:=0) r

Ma è proprio così, non ci sono più altre possibilità. Trasmetti rownumber come long come ho detto nei commenti, se davvero deve essere long .

In alternativa, in una procedura :

DELIMITER $$
CREATE PROCEDURE selectFromWhatever()
BEGIN
SELECT
(@rownum:[email protected] + 1) AS rownumber,
yourTable.*
FROM
yourTable
, (SELECT @rownum:=0) r;
END $$
DELIMITER ;

Quindi ottieni il risultato con

CALL selectFromWhatever()

Risposta originale:

Dal manuale MySQL:

UUID()

Un altro modo sarebbe usare CONCAT() per creare il tuo ID univoco.

SELECT CONCAT(PRINCIPAL_ID, '-', GROUP_ID) AS myUniqueID
FROM yourTable