mysql模式,varchar类型字段,不支持默认值用函数吗? 比如这样,报错了。
create table zzz_test_0403 ( ID
varchar(64) default uuid() not null )
在MySQL中,VARCHAR类型字段是不支持使用函数作为默认值的,只能使用常量或NULL作为默认值。
如果想使用函数设置默认值,您可以考虑使用触发器来实现。在CREATE TABLE语句中,您可以创建一个名为zzz_test_0403的空表,然后使用CREATE TRIGGER语句在该表中创建一个触发器:
CREATE TRIGGER trigger_zzz_test_0403 BEFORE INSERT ON zzz_test_0403 FOR EACH ROW SET NEW.ID = UUID(); 这将在向表中插入数据之前给ID字段设置uuid()函数的返回值。
对,不支持,因为建表的默认值是个静态计算生成的,如果你想实现类似效果,可以写触发器,加个if判断,如果为空,则将生成的uuid给id
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。