草庐IT

auto-increment

全部标签

sql - 在迁移中更改自动增量值(PostgreSQL 和 SQLite3)

我有一个托管在Heroku上的项目,我想更改表的自动增量起始值。我在本地使用SQLite3,而Heroku使用PostgreSQL这就是我在迁移中所拥有的:classCreateMytable迁移在本地运行,但SQLite似乎只是忽略了更改,但它适用于Heroku。我做错了什么? 最佳答案 老实说,这听起来不属于迁移。不过,您可以将以下内容添加到初始化程序中,以创建一个方便的基类方法作为任务的一部分进行调用:ActiveRecord::Base.class_evaldodefself.reset_autoincrement(opti

c# - 如何在 SQLite 的插入查询中返回自动增量值?

在我的项目中,我使用System.Data.SQLite.数据库有表Tags,其中包含自增主字段ID(类型Integer)。当我写:using(SQLiteCommandcommand=conn.CreateCommand()){command.CommandText="insertintoTags(name)values(@name)returninginto@id";command.Parameters.Add("@id",DbType.Int32).Direction=ParameterDirection.Output;command.ExecuteNonQuery();}Vis

c# - 如何在 SQLite 的插入查询中返回自动增量值?

在我的项目中,我使用System.Data.SQLite.数据库有表Tags,其中包含自增主字段ID(类型Integer)。当我写:using(SQLiteCommandcommand=conn.CreateCommand()){command.CommandText="insertintoTags(name)values(@name)returninginto@id";command.Parameters.Add("@id",DbType.Int32).Direction=ParameterDirection.Output;command.ExecuteNonQuery();}Vis

sql - 插入表并将另一列设置为自动递增的列值

假设我有一个简单的表:createtablefoo{idINTEGERPRIMARYKEYAUTOINCREMENT,barINTEGER}我想插入一个新行,这样id==bar其中id的值由数据库选择,也就是自动递增。像这样:INSERTINTOfoo(id,bar)VALUES(NULL,id)是否可以在一条语句中执行此操作?它的SQL语法是什么? 最佳答案 在SQLite中你可以BEGINTRANSACTION;INSERTINTOfoo(id,bar)VALUES(NULL,0);UPDATEfooSETbar=idWHERE

sql - 插入表并将另一列设置为自动递增的列值

假设我有一个简单的表:createtablefoo{idINTEGERPRIMARYKEYAUTOINCREMENT,barINTEGER}我想插入一个新行,这样id==bar其中id的值由数据库选择,也就是自动递增。像这样:INSERTINTOfoo(id,bar)VALUES(NULL,id)是否可以在一条语句中执行此操作?它的SQL语法是什么? 最佳答案 在SQLite中你可以BEGINTRANSACTION;INSERTINTOfoo(id,bar)VALUES(NULL,0);UPDATEfooSETbar=idWHERE

android - 获取 SQLite 数据库的下一个 AUTO_INCREMENT 值

使用AndroidAPI中的典型SQLiteDatabase对象,我可以做些什么来获取特定列(即id)的下一个AUTO_INCREMENT值而不影响值本身.有办法吗?或者我应该执行什么查询来获得该结果。请记住,SQLiteDatabase.query()返回一个Cursor对象,所以如果我只想从中获取值,我不太确定如何直接处理它。 最佳答案 你是对的。第一个答案(仍在下方)仅在没有id的AUTOINCREMENT的情况下有效。使用AUTOINCREMENT,值存储在单独的表中并用于增量。这是查找值的示例:publicvoidprin

android - 获取 SQLite 数据库的下一个 AUTO_INCREMENT 值

使用AndroidAPI中的典型SQLiteDatabase对象,我可以做些什么来获取特定列(即id)的下一个AUTO_INCREMENT值而不影响值本身.有办法吗?或者我应该执行什么查询来获得该结果。请记住,SQLiteDatabase.query()返回一个Cursor对象,所以如果我只想从中获取值,我不太确定如何直接处理它。 最佳答案 你是对的。第一个答案(仍在下方)仅在没有id的AUTOINCREMENT的情况下有效。使用AUTOINCREMENT,值存储在单独的表中并用于增量。这是查找值的示例:publicvoidprin

sql-server - 是否有一个 set identity_insert on equivalent for SQLite?

在TSQL中有SETIDENTITY_INSERTON;在SQLite中是否有等价的功能? 最佳答案 SQLite总是允许在主键列中插入一个值;仅当插入的值为NULL(显式或省略)时才使用自动生成的值。有关详细信息,请参阅thedocumentation. 关于sql-server-是否有一个setidentity_insertonequivalentforSQLite?,我们在StackOverflow上找到一个类似的问题: https://stackove

sql-server - 是否有一个 set identity_insert on equivalent for SQLite?

在TSQL中有SETIDENTITY_INSERTON;在SQLite中是否有等价的功能? 最佳答案 SQLite总是允许在主键列中插入一个值;仅当插入的值为NULL(显式或省略)时才使用自动生成的值。有关详细信息,请参阅thedocumentation. 关于sql-server-是否有一个setidentity_insertonequivalentforSQLite?,我们在StackOverflow上找到一个类似的问题: https://stackove

c# - 如何使用 EF 核心在 SQLite 中创建自动增量列?

我首先在我的UWPand.NETStandard中将EntityFrameworkCore2.0用于Sqlite代码应用程序。我的模型有一个主键整数类型的实体,它应该根据SQLitedocumentation作为自动增量。.但实际上,对于每一行,标识列的值都为0。请帮忙,因为我没有找到与此问题相关的帮助Material。这是我的属性(property),没有任何数据注释。publicInt32否{get;放;}我用过流利的APImodelBuilder.Entity().HasKey(c=>new{c.No,c.Cod_Turno});并在此处插入值db.TurnosGenerals.