sql >> Database >  >> RDS >> Mysql

Genereer een unieke lange ID voor een weergave in MySql

UPDATE:als je erop staat om het als een nummer te hebben, maak je je weergave als volgt:

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

Maar dat is het eigenlijk - geen andere mogelijkheden meer. Cast rijnummer als long zoals ik al zei in opmerkingen, als het echt, echt long moet zijn .

Als alternatief in een procedure :

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

Krijg dan resultaat met

CALL selectFromWhatever()

Oorspronkelijke antwoord:

Uit de MySQL-handleiding:

UUID()

Op een andere manier zou zijn om CONCAT() . te gebruiken om uw unieke ID samen te stellen.

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


  1. Hoe Codeigniter-taalbestanden uit de database te maken?

  2. Percona XtraBackup vergelijken met MySQL Enterprise Backup:deel één

  3. Verwijder duplicaten in de lijst met objecten met Python

  4. Tel het aantal subtags uit XML in SQL