Mah*_*ace 4 mysql random stored-procedures temp-tables
我想在MySQL存储过程中创建具有随机名称的临时表.我还需要存储名称,以便从另一个存储过程访问该表.我在考虑使用MD5哈希:
SELECT md5(RAND()+CURRENT_TIMESTAMP());
Run Code Online (Sandbox Code Playgroud)
我想知道这是否会产生完全无碰撞的字符串?
您可以使用uuid()并从结果中删除破折号...这是我能想到的最接近的东西,它会给您任何可靠的独特之处.
select concat("table_prefix_", replace(uuid(), '-', '')) as unique_name;
Run Code Online (Sandbox Code Playgroud)
它最终会像这样:
mysql> select concat("table_prefix_",replace(uuid(), '-', '')) as unique_name;
+-----------------------------------------------+
| unique_name |
+-----------------------------------------------+
| table_prefix_39f14dd9418011e3bd86c0cb38cd4f18 |
+-----------------------------------------------+
1 row in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3317 次 |
| 最近记录: |