`

通过SQL语句向自增字段的ID列插入ID

SQL 
阅读更多

通过一些方法生成的对某张表数据的insert语句时,往往会是:

 

insert brand(id,name) values(1,'技嘉')

 

但是往往我们的数据表中id字段是自增的,这就导致在执行这一语句的时候会产生错误:

引用

消息 8101,级别 16,状态 1,第 1 行
仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表'brand '中的标识列指定显式值。

 

解决的方法在错误中已经提示给我们了,就是把那个东西设置为on后就能向ID列插入值了,所以正确的执行插入语句的做法应该是:

 

SET IDENTITY_INSERT brand ON

insert brand(id,name) values(1,'技嘉')

SET IDENTITY_INSERT brand OFF

 

注意:on了之后得off,并且语句必须这么写:insert brand(id,name) values(1,'技嘉')

如果使用 insert brand values(1,'技嘉') 依然会报错:

 

消息 8101,级别 16,状态 1,第 2 行
仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表'brand '中的标识列指定显式值。

分享到:
评论

相关推荐

    自增字段的SQL语句解决方案

    ### 自增字段的SQL语句解决方案 在数据库设计与管理中,自增字段是一个非常实用的功能,它能够自动为每一条新记录分配一个唯一的、连续的整数值。这对于需要唯一标识符(例如主键)的场景特别有用。本文将详细介绍...

    常用数据库的自增字段创建方法汇总

    本文将详细介绍几种主流数据库系统中的自增字段创建方法,包括 DB2、Oracle、MySQL、PostgreSQL、SQL Server 和 Sybase。 #### DB2 DB2 支持通过 `GENERATED ALWAYS AS IDENTITY` 属性来创建自增字段。这种方式...

    SqlServer 在中获得自增ID的两种方式.txt

    SqlServer 在中获得自增ID的两种方式.存储过程或SQL语句中插入数据后,自动获取自增的ID

    Oracle插入数据时获取自增ID

    这种方式可以直接在插入语句中调用`seq_atable.NEXTVAL`来获取下一个序列值,并将其作为ID字段的值。 2. **使用触发器自动插入序列值**: ```sql CREATE OR REPLACE TRIGGER trg_atable BEFORE INSERT ON a...

    Oracle使用序列创建自增字段

    Oracle 数据库通过序列(Sequence)这一特性支持自增字段的实现。本文将详细介绍如何利用 Oracle 的序列功能来创建自增字段,并探讨其相关的配置选项及应用场景。 ### 创建序列 (Create Sequence) #### 基本语法与...

    jdbc 插入记录并返回自增主键值

    当我们需要向MySQL数据库插入新记录并获取自增主键的值时,JDBC提供了相应的功能来实现这一需求。本篇文章将详细讲解如何通过JDBC在Java中执行插入操作并获取自增主键。 首先,确保你已经在项目中引入了MySQL的JDBC...

    oracle里建一个自增字段示例

    下面的SQL语句展示了如何创建名为`SYS_SYS_LOG_id`的序列: ```sql CREATE SEQUENCE SYS_SYS_LOG_id INCREMENT BY 1 START WITH 1 MAXVALUE 9999999999999999999999999999 MINVALUE 1 NOCYCLE CACHE 20; ``` 这里...

    SQL Server 打开或关闭自增长

    在SQL Server中,自增长(IDENTITY)列是一种特殊类型的字段,它会在每次插入新行时自动为该列提供一个唯一的、递增的值。这种功能对于创建序列化的主键非常有用,因为它们确保了数据的唯一性。然而,有时在特定情况...

    所有国家的下拉列表sql语句创建

    这段代码展示了如何通过 `INSERT INTO` 语句向 `country` 表中添加国家数据。每个国家都由 `id`、`abbr` 和 `cninfo` 三个字段组成。其中: - `id` 字段自动生成,无需手动指定。 - `abbr` 字段存储了每个国家的英文...

    sqlserver自动增长字段设置方法.rar

    例如,创建一个名为`Employees`的表,包含`EmployeeID`为主键的自动增长字段,可以使用以下SQL语句: ```sql CREATE TABLE Employees ( EmployeeID INT IDENTITY(1,1) PRIMARY KEY, FirstName VARCHAR(50), ...

    数据库建表操作SQL语句大全

    - **自动编号字段**:通常作为主键使用,`int IDENTITY(1,1)`表示该字段为整型自增字段,起始值为1,每次增加1。 - **字段1**:类型为`nVarChar(50)`,表示最多可以存储50个字符,`DEFAULT '默认值'`表示该字段的...

    MySql常用sql语句

    MySQL 常用 SQL 语句 MySQL 是一种关系型数据库管理系统,提供了丰富的 SQL 语句来操作数据库。下面是 MySQL 中常用的 SQL 语句。...这些都是 MySQL 中常用的 SQL 语句,通过这些语句可以实现对数据库的基本操作。

    MyCat主键自增字段开启1

    这可以通过SQL语句在数据库中执行,或者在MyCat的配置中指定序列文件路径来实现。 4. 插入数据: 当以上配置完成后,你可以尝试插入数据。一个典型的插入操作可能如下所示: ``` INSERT INTO customer (name, ...

    sql获得自动增加字段的下一个编号,不是max(id)+1

    此后,每当向`TableXXX`表中插入新记录时,`id`列就会自动设置为序列中的下一个值。 #### 四、总结 通过使用上述特定于数据库的方法,可以更安全、更有效地获取自动增长字段的下一个编号,避免了传统`MAX(id)+1`...

    SQL插入脚本生成器

    在SQL插入脚本生成器中,用户可以选择是否包含自增ID字段。如果选择不包含,生成的脚本将忽略ID字段,由数据库系统自动处理。如果选择包含,用户可能需要提供初始值和步长。需要注意的是,当字段名不是默认的"ID"时...

    sql server建表时设置ID字段自增的简单方法

    综上所述,SQL Server中的ID字段自增是通过设置字段属性和使用特定的SQL语句来实现的。了解这些知识点有助于高效地管理和维护数据库表结构。在实际应用中,务必注意选择正确的字段类型,并遵循最佳实践来操作自增...

    SQL语句创建表常用操作

    标识字段(自增字段)通常用于主键,自动递增: ```sql CREATE TABLE visitor ( theID NUMERIC(18) IDENTITY, -- 自增的theID字段 name VARCHAR(40) ); ``` 创建索引可以提升查询效率,例如复合索引: ```sql ...

    Sql Server 的SQL语句案例

    在提供的SQL语句案例中,我们看到一个用于获取数据的SELECT语句。这个语句首先使用了窗口函数ROW_NUMBER(),它根据`FSalary`列降序地为T_Employee表中的每一行分配一个行号。然后,通过创建一个名为a的子查询,筛选...

    设置db2 字段自增长

    在DB2中,可以通过`GENERATED ALWAYS AS IDENTITY`语句来创建一个自动递增的字段。基本语法如下: ```sql CREATE TABLE <table_name> ( <column_name> integer GENERATED ALWAYS AS IDENTITY (START WITH , ...

    mybatis获取自增ID

    在MyBatis中,可以通过在`<insert>`标签中添加`useGeneratedKeys="true"`和`keyProperty`属性来自动获取并填充插入语句后返回的自增ID值。 **示例代码:** ```xml <insert id="insert" parameterType=...

Global site tag (gtag.js) - Google Analytics