Cómo configurar el tipo de clave principal a UUID en la tabla mysql

Hoy, encontré un problema al cambiar el código de otra persona para crear una clave primaria de tipo uuid

CREATE TABLE `product` (
  `id` VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '',
  `productNum` VARCHAR(50) NOT NULL,
  `productName` VARCHAR(50) DEFAULT NULL,
  `cityName` VARCHAR(50) DEFAULT NULL,
  `DepartureTime` TIMESTAMP NULL DEFAULT NULL,
  `productPrice` DECIMAL(10,0) DEFAULT NULL,
  `productDesc` VARCHAR(255) DEFAULT NULL,
  `productStatus` INT(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8;

Quiero cambiar la identificación en el producto en la tabla anterior a tipo uuid

uuid

   UUID significa Universal Unique Identifier (Identificador universalmente único) La aplicación de proyecto uuid www.1b23.com se refiere a un número generado en una máquina, lo que garantiza que es único para todas las máquinas en el mismo tiempo y espacio. Por lo general, la plataforma proporcionará la API generada. En otras palabras, la unicidad de la identificación de la clave principal se puede garantizar dentro de un cierto rango. La función
   uuid () se puede usar directamente en mysql para generar un uuid aleatorio. El
   uuid normal tiene 36 bits de longitud, por ejemplo: d48644cc-2c7a -4714-9900-18ab99e80b03, Entre los cuales 4 caracteres son "-", puede usar la función replace () para reemplazar "-" en mysql

función de reemplazo

El uuid generado por defecto contiene'- ', podemos usar la función de reemplazo para reemplazar el'-', el SQL es el siguiente:

select replace(uuid(),"-","") as uuid;

Baidu descubrió más tarde que esta operación se puede lograr a través de disparadores

Cree un activador en el lado izquierdo
Inserte la descripción de la imagen aquí
llamado id_trigger.
A continuación se muestra el código de activación

DELIMITER $$

CREATE
    /*[DEFINER = { user | CURRENT_USER }]*/
    TRIGGER `ssm_project1`.`id_trigger` BEFORE INSERT
    ON `ssm_project1`.`product`
    FOR EACH ROW BEGIN
		SET new.id=REPLACE(UUID(),'-','');
    END$$

DELIMITER ;

El disparador se da cuenta de que se genera un uuid único cuando se insertan los datos y el
proyecto se resuelve con éxito después de ejecutar el proyecto.
Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/he1234555/article/details/114012854
Recomendado
Clasificación