如何在MySQL中使用Fluent Migrator自动生成UUID/GUID?

6

我正在尝试在MySQL 5.7中使用.FluentMigrator设置一个UUID/GUID列的默认值为NewGuid()(.NET Core)。

Create.Table("table")
.WithColumn("auto_guid").AsGuid().NotNullable().WithDefaultValue(SystemMethods.NewGuid)

根据Fluent Migrator 文档,应该支持NewGuid,但我却收到一个错误信息:“您的SQL语法有误,请检查与您的MySQL服务器版本相对应的手册以获取正确的语法…”。我搜索了任何类似的问题和解决方案,但都没有找到。在Fluent Migrator中是否可能自动生成MySQL的UUID/GUID?

1
我认为这取决于你的mysql版本。在v8.0.13之前,所有在SO上的解决方案都使用触发器生成guid作为默认值。从v8.0.13开始,mysql支持将某些函数作为字段的默认值。 - Shadow
1个回答

3
您正在使用错误的方法。请改用.WithDefault(SystemMethods.NewGuid),而不是.WithDefaultValue()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接