我有这张桌子:
-id : primary key
-code : CHAR(8) unique
ANSI SQL(或MySQL)中是否有一种方法可以生成唯一的数字代码(可以基于自动数字 id )在任何行数的单个SQL语句中? (让我们说100)
我已经在PHP的循环中执行此操作,但想知道它是否可以在纯SQL中完成。
答案 0 :(得分:1)
您可以使用以下代码
select substr(UUID(), 1, 8)
答案 1 :(得分:1)
符合当前要求:
SELECT floor(rand() * 90000000) + 10000000; # Will create an eight-digit random number
INSERT INTO table (code) VALUES (floor(rand() * 90000000) + 10000000);
UPDATE table SET code = floor(rand() * 90000000) + 10000000;
SELECT SUBSTRING( MD5( RAND( ) ), 25 )
或者基于自动增量:
SELECT SUBSTRING( MD5(id), 25 ) FROM table
或者更新它:
UPDATE table SET code = SUBSTRING( MD5(id), 25 )