在MySQL數(shù)據(jù)庫(kù)中,如果要導(dǎo)入一些數(shù)據(jù),而數(shù)據(jù)表中又需要自動(dòng)生成主鍵,可以考慮使用uuid生成,下面是一個(gè)簡(jiǎn)單的示例。
CREATE TABLE `users` ( `id` varchar(36) NOT NULL, `username` varchar(20) NOT NULL, `password` varchar(50) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; INSERT INTO `users` (`id`, `username`, `password`) VALUES (UUID(), 'user1', 'password1'); INSERT INTO `users` (`id`, `username`, `password`) VALUES (UUID(), 'user2', 'password2'); INSERT INTO `users` (`id`, `username`, `password`) VALUES (UUID(), 'user3', 'password3'); INSERT INTO `users` (`id`, `username`, `password`) VALUES (UUID(), 'user4', 'password4');
在創(chuàng)建表時(shí),定義了一個(gè)id字段,類型為varchar(36),表示使用uuid作為主鍵。然后通過(guò)UUID()函數(shù),在插入數(shù)據(jù)時(shí)自動(dòng)生成唯一的uuid,作為每一條數(shù)據(jù)的主鍵。
需要注意的是,如果要使用uuid作為主鍵,需要在數(shù)據(jù)表的建表語(yǔ)句中進(jìn)行定義,否則會(huì)出現(xiàn)鍵沖突或無(wú)法插入數(shù)據(jù)等問(wèn)題。