Answers:
的UUID()被调用时表达产生一个UUID。
不幸的是(无论如何还是AFAIK),MySQL不允许将表达式作为字段的默认值。解决方法是,您始终可以将字段设置为默认null并使用触发器在插入时使用UUID更新该字段。
我敢肯定,实际上您还是不能。我会认真考虑不使用UUID作为主键,而是使用更苗条,更好的数据类型,例如INT
。您可以将UUID添加为单独的列,并通过进行更新TRIGGER
(如果适合)。
SELECT LENGTH(UNHEX(REPLACE(UUID(),'-','')))
= 16字节二进制。仍然比INT
但更大,但更好VARCHAR(36)