Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Generieren Sie eine eindeutige lange ID für eine Ansicht in MySql

UPDATE:Wenn Sie darauf bestehen, es als Zahl zu haben, erstellen Sie Ihre Ansicht wie folgt:

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

Aber das ist es wirklich - keine anderen Möglichkeiten mehr. Zeilennummer als long umwandeln wie ich in den Kommentaren sagte, wenn es wirklich, wirklich long sein muss .

Alternativ in einem Verfahren :

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

Dann Ergebnis mit

abrufen
CALL selectFromWhatever()

Ursprüngliche Antwort:

Aus dem MySQL-Handbuch:

UUID()

Ein anderer Weg wäre die Verwendung von CONCAT() um Ihre eindeutige ID zu erstellen.

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