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

Generer Unique Long ID for en visning i MySql

OPDATERING:Når du insisterer på at have det som et nummer, skal du oprette din visning sådan her:

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

Men det er i virkeligheden det – ikke flere andre muligheder. Cast rækkenummer som long som jeg sagde i kommentarer, hvis det virkelig, virkelig skal være long .

Alternativt i en procedure :

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

Så få resultat med

CALL selectFromWhatever()

Oprindeligt svar:

Fra MySQL-manualen:

UUID()

En anden måde ville være at bruge CONCAT() for at bygge dit unikke ID.

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


  1. Sådan benchmarker du MySQL's ydeevne ved hjælp af SysBench

  2. Slet alle rækker med tidsstempel ældre end x dage

  3. Hvordan genopbygger man en inkonsekvent MySQL-slave?

  4. Hvordan aktiveres MySQL Query Log?