sql >> Databáze >  >> RDS >> Mysql

Vygenerujte jedinečné dlouhé ID pro pohled v MySql

AKTUALIZACE:Když trváte na tom, aby to bylo číslo, vytvořte si svůj pohled takto:

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

Ale je to opravdu tak – žádné další možnosti. Přenést číslo řádku jako long jak jsem řekl v komentářích, pokud to opravdu, opravdu musí být long .

Případně v postupu :

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

Poté získejte výsledek pomocí

CALL selectFromWhatever()

Původní odpověď:

Z manuálu MySQL:

UUID()

Jiný způsob by bylo použít CONCAT() vytvořit své jedinečné ID.

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


  1. Jak mohu vrátit zpět svůj poslední příkaz delete v MySQL?

  2. jak vypsat výsledek dotazu mysql v konkrétní sekvenci?

  3. Replikace MySQL bude obousměrná

  4. Jak udělit všechna oprávnění k pohledům libovolnému uživateli