Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Gerar ID longo exclusivo para uma exibição no MySql


ATUALIZAÇÃO:Quando você insistir em tê-lo como um número, crie sua visão assim:
SELECT
(@rownum:[email protected] + 1) AS rownumber,
yourTable.*
FROM
yourTable
, (SELECT @rownum:=0) r

Mas é realmente isso - não há mais outras possibilidades. Cast rownumber como long como eu disse nos comentários, se realmente tem que ser long .

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

Então obtenha resultado com
CALL selectFromWhatever()

Resposta original:

Do manual do MySQL:

UUID()

Outra maneira seria usar CONCAT() para construir seu ID exclusivo.
SELECT CONCAT(PRINCIPAL_ID, '-', GROUP_ID) AS myUniqueID
FROM yourTable