str(uuid.uuid4().int>>64)[0:8] + str(uuid.uuid4().int>>64)[0:8]
Run Code Online (Sandbox Code Playgroud)
我想用上面的代码创建一个 16 位的随机数。如果我分两部分生成它,它是否会使其更加随机,或者我可以执行以下操作:
str(uuid.uuid4().int>>64)[0:16]
Run Code Online (Sandbox Code Playgroud) 我以“005056963AB75FD48BDC59C100314C40”之类的格式获取UUID,并想验证它们。我试过这样的代码:
public boolean isUUID(String uuid){
try {
UUID.fromString(uuid);
} catch (Exception e) {
return false;
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
但这会告诉我“005056963AB75FD48BDC59C100314C40”不是有效ID。另一方面,站点http://guid.us/Test/GUID告诉我它是,并给我一个添加了“-”的 UUID。是否有一种优雅的方法可以在 Java 中验证此 UUID,还是必须手动将“-”添加到正确的位置?
uuid或通用唯一标识符和timeuuid是长 128 位值。
在 Cassandra 数据库中,由于它的概念,我使用uuid和timeuuid作为我们的实体标识符,现在我想压缩uuid和timeuuid或在客户端(用户)可以在 URL 栏中看到 id 时减小其大小。
例如 Twitter 也使用了 Cassandra,但是当你打开一条推文时,推文的 id 就像是10153967535312713一个简单的uuid就像10646334-2c02-11e6-bb4a-7720eb141b83是更多的字符而不是用户友好的(当然这两个 ID 都不是用户友好的:D)
在不同的编程语言中都有一些压缩函数,例如PHP中的gzcompress和 Java中的GZIPOutputStream,但是这些函数(类)会压缩数据并以GZIP格式返回,这在URL中是不允许使用的!
现在顺便说一下,有没有什么方法或函数/算法来获得更小或压缩版本的 uuid 或 timeuuid?
我想生成一个帐户 ID,总用户帐户少于 500K,所以我想让帐户 ID 尽可能短,所以我想知道如何使用 php 生成 8 或 16 个字符的 ID?
任何人都可以帮助创建一个带有uuid生成器字段的列,该列会在插入行时自动生成随机数。
我在某些 django 模型中使用 uuid4 作为 id。这就是为什么我不能使用<int:pk>inurls.py因为它不会匹配。我可以使用另一个前缀来匹配这些 uuida2182835-4518-cb95-8eaf-0d5a34105cb2吗?
我在使用使用 MS SQL UUID 的现有数据库的 Laravel 应用程序中遇到问题。我的应用程序有一个客户:
class Customer extends Model
{
protected $table = 'ERP.Customer';
public $timestamps = false;
protected $primaryKey = 'CustID';
protected $keyType = 'string';
protected $fillable = [
'CustID',
'SysRowID',
'CustNum',
'LegalName',
'ValidPayer',
'TerritoryID',
'Address1',
'Address2',
'Address3',
'City',
'State',
'Zip',
'Country',
'SalesRepCode',
'CurrencyCode',
'TermsCode',
'CreditHold',
'FaxNum',
'PhoneNum',
'CustomerType'
];
public function SalesTer()
{
return $this->belongsTo(SalesTer::class,'TerritoryID', 'TerritoryID');
}
public function Shipments()
{
return $this->hasMany(Shipment::class, 'CustNum', 'CustNum');
}
public function Equipments()
{
return $this->hasMany(Equipment::class,'CustNum', 'CustNum');
}
public function …Run Code Online (Sandbox Code Playgroud) 我想在用 expo cli 构建的 ReactNative 应用程序中生成一个 uuid .. 当我UUIDGenerator从安装时React-native-uuid-generator,我得到undefined is not an object(evaluating ‘RNUUIDGenerator.getRandomUUID’..)
尝试了两个差异库,react-native-uuid和React-native-uuid-generator,同样的问题,认为这可能与 expo 不喜欢链接命令有关。
UUIDGenerator.getRandomUUID().then(uuid => console.log(uuid));
Run Code Online (Sandbox Code Playgroud)
期望打印新的 uuid,实际上收到错误消息。
我试图从 MSSQL 切换到 PostgreSQL,因此尝试将查询转换为等效的 PostgreSQL。但是,运行 PostgreSQL 查询时出现错误:
错误:类型“唯一标识符”不存在第 3 行:ID UNIQUEIDENTIFIER DEFAULT UUID_GENERATE_V4()::VARCHAR NO... ^ SQL 状态:42704 字符:38
MSSQL
CREATE TABLE [dbo].[ISS_AUDIT]
(
[ID] UNIQUEIDENTIFIER DEFAULT NEWID() NOT NULL,
[GRAPH_ID] [varchar](196)
PRIMARY KEY(ID)
);
Run Code Online (Sandbox Code Playgroud)
PostgreSQL
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
CREATE TABLE public.ISS_AUDIT
(
ID UNIQUEIDENTIFIER DEFAULT UUID_GENERATE_V4()::VARCHAR NOT NULL,
GRAPH_ID VARCHAR(196),
PRIMARY KEY(ID)
);
Run Code Online (Sandbox Code Playgroud)
我在UNIQUEIDENTIFIER上遗漏了什么 吗?
我正在使用夸克(0.17)。我做了一个华丽的实体来连接 posgresql。我的表有一个 uuid 键并定义为:
CREATE TABLE public.instruments
(
id uuid,
name character varying(50)
)
Run Code Online (Sandbox Code Playgroud)
我在 application.properties 中设置了休眠方言,因为它:
quarkus.hibernate-orm.dialect = org.hibernate.dialect.PostgreSQL95Dialect
Run Code Online (Sandbox Code Playgroud)
我的实体被定义为:
quarkus.hibernate-orm.dialect = org.hibernate.dialect.PostgreSQL95Dialect
Run Code Online (Sandbox Code Playgroud)
在运行时,当我尝试持久化我的实体时,我有一个java.lang.IllegalArgumentException: Can not set java.util.UUID field xxxx.entity.Instrument.id to java.lang.Long.
uuid ×10
postgresql ×3
java ×2
php ×2
cassandra ×1
django ×1
eloquent ×1
expo ×1
hibernate ×1
laravel ×1
python ×1
quarkus ×1
random ×1
react-native ×1
regex ×1
sql ×1
sql-server ×1
sqldatatypes ×1
timeuuid ×1
validation ×1