【发布时间】:2018-11-14 23:22:07
【问题描述】:
我正在开发一个使用 MariaDB 运行的 C# 程序。 由于它可以由多个用户同时运行,因此在使用“INSERT”语句插入(创建)新行时,我将索引(唯一索引字段)留空并让 MariaDB 分配它们。
问题是,由于我在程序中将索引字段留空,我不知道在 DB 中分配了哪个索引号。如果我尝试在客户端创建索引,那么我不能保证它在数据库上也是唯一的。
那么,有没有办法在创建行时检索数据库分配的索引号?
PS:我正在使用sqlcommandbuilder和sqladapter的更新功能。
【问题讨论】:
-
原来是
AUTO_INCREMENT? -
如果您能提供minimal reproducible example,那就太好了。
-
你想要的是类似于 SQL 输出子句的东西。 docs.microsoft.com/en-us/sql/t-sql/queries/… 不幸的是,我不知道 Maria DB 是否支持类似的东西。
-
MariaDB 是 MySQL 的变体,SQL Server 提供程序(“sqlcommandbuilder”和“sqladapter”)不应该使用它。官方 MySQL 提供程序在 NuGet 上
-
是的,该字段已设置为 AUTO_INCREMENT。