MySQL是一个流行的数据库管理系统,它支持使用UUID(通用唯一标识符)作为表的主键。UUID是一个128位长度的数字,唯一地代表了一个实体或者信息。在添加数据的时候,使用UUID作为主键可以使所有记录都有唯一的标识符。
CREATE TABLE `user` (`id` varchar(36) NOT NULL,`name` varchar(30) NOT NULL,`email` varchar(50) NOT NULL,`created_at` datetime NOT NULL,`updated_at` datetime NOT NULL,PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
在上面的代码中,我们创建了一个名为“user”的表,其中“id”列使用UUID作为主键。我们指定了该列的数据类型为varchar(36),因为UUID是一个由36个字符组成的字符串。
接下来,我们可以使用UUID()函数来生成一个新的UUID值。
INSERT INTO `user` (`id`, `name`, `email`, `created_at`, `updated_at`) VALUES (UUID(), 'John', 'john@example.com', NOW(), NOW());
在上面的代码中,我们使用INSERT语句向表中插入一条记录。由于"id"列是主键,我们不需要手动设置其值,而是使用UUID()函数自动生成一个唯一值。其他列的值由VALUES子句指定。
使用UUID作为主键可以使数据表中记录的id唯一,并且不需要在插入前检查id是否唯一。同时,使用UUID作为主键可以避免了主键自增长的限制,保证了分布式系统下数据的唯一性。