自增列错误问题

今天想插入数据从另一个表中,结果出现了各种问题

这个百度找的:insert into b(id,title,content) select id,title,content from a

这个是一开始写的:
insert into 表B select * from 表A(这样会报标识列错误信息。)

set IDENTITY_INSERT 表A on

解决方法:
set IDENTITY_INSERT 表A OFF
set IDENTITY_INSERT 表B OFF
最后的正确语句:
insert into 表B(CardNo,[PassWord],TrueName,Sex,Email,Property,Crops,PlantingArea,UseDrugs,Remark,TypeStatus,TgID,Telphone,UserID,CreateTime,[Address],Province,City,Area,Culture)
select CardNo,[PassWord],TrueName,Sex,Email,Property,Crops,PlantingArea,UseDrugs,Remark,TypeStatus,TgID,Telphone,UserID,CreateTime,[Address],Province,City,Area,Culture
from 表A

时间: 2024-10-11 14:09:20

自增列错误问题的相关文章

Hibernate自增列保存失败的问题

author: hiu 最近由ibatis转用Hibernate,期间遇到了一系列的问题,今天又遇到了个问题,是因为自增列的问题导致保存时报错,现在记录下来,以便日后忘记时查看 这个问题其实是使用myEclipse生成表的实体类时,自增列的注解错误导致的. 问题原因:利用myEclipse的Hibernate Reverse Engineening生成的实体类自增列注解设置了在主键keyjobno上,而不是对应的 id 列上 解决办法 :将自增列注解设置在对应的 自增列id上 数据库employ

innodb 自增列重复值问题

1 innodb 自增列出现重复值的问题 先从问题入手,重现下这个bug use test; drop table t1; create table t1(id int auto_increment, a int, primary key (id)) engine=innodb; insert into t1 values (1,2);insert into t1 values (null,2); insert into t1 values (null,2); select * from t1;

PowerDesigner自增列问题

如上图所示,如果想改变字段userId的类型,由int变成varchar类型,则系统汇报如下错误: 自增长列必须是数字类型.由此可看出,该列已经设置了自增长列.所以如果想改变当前userId的类型,必须去掉它的自增长属性. 具体操作为:双击userId列,系统会弹出如下对话框: 右下角identity属性即为设置自增长属性.选中即为自增长列. 根据需求将其去掉选中状态,应用一下,则userId的类型就可以由int类型转换为varchar类型. PowerDesigner自增列问题

设计表的时候,对于自增列做逻辑主键使用的一点思考

本文出处:http://www.cnblogs.com/wy123/p/7581380.html (保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些错误进行修正或补充,无他) 关于自增列 自增列作为数据库的一个特性之一,在MSSQL和MySQL以及Oracle中都被支持.之前在网上发现一个类似的问题,是关于MySQL的:“为什么InnoDB表最好要有自增列做主键?”自增列作为一项特性,(可能)会应用到表的设计方面,不管是在那种数据库平台下.抛开具

SQL SERVER 自增列的方法

declare @Table_name varchar(60) set @Table_name = ''; if Exists(Select top 1 1 from sysobjects           Where objectproperty(id, 'TableHasIdentity') = 1             and upper(name) = upper(@Table_name)         )     select 1else select 0 -- or if Ex

SQL语句实现取消自增列属性

由于在SQL-SERVER中,自增列属性不能直接修改,但可以通过以下方式变向实现 1.如果仅仅是指定值插入,可用以下语句,临时取消 SET IDENTITY_INSERT TableName ONINSERT INTO tableName(xx,xx) values(xx,xx)SET IDENTITY_INSERT TableName OFF 2.新增一列,删除自增列,修改改列名 alter table a add xxx intupdate a set xxx=idalter table a

MySQL使用AUTO_INCREMENT列的表注意事项之update自增列篇

1. 说明 (1)对于MyISAM表,如果用UPDATE更新自增列,如果列值与已有的值重复,则会出错:如果大于已有的最大值,则会自动更新表的AUTO_INCREMENT,操作是安全的. (2)对于innodb表,update auto_increment字段,如果列值与已有的值重复,则会出错:如果大于已有的最大值,可能会引入一个坑,会造成编号重复错误,插入数据失败的情况,可见在update自增列值是要注意. 环境描述:RHEL 6.4 x86_64 + MySQL 5.6.19 blog地址:h

MySQL自增列的步长问题

唯一索引和联合唯一 外键的变种 SQL数据行的增删改查 视图 触发器 函数 存储过程 事务 游标 动态执行SQL(防SQL注入) 1.MySQL自增列的步长问题: 1.基于会话级别(单次登陆状态下): show session variables like 'auto_inc%';    #查看自增长的默认步数,一般为1 set session auto_increment_increment=2;    #设置自增长会话步长为2 set session auto_increment_offse

mysql中InnoDB表为什么要建议用自增列做主键

InnoDB引擎表的特点 1.InnoDB引擎表是基于B+树的索引组织表(IOT) 关于B+树 (图片来源于网上) B+ 树的特点: (1)所有关键字都出现在叶子结点的链表中(稠密索引),且链表中的关键字恰好是有序的; (2)不可能在非叶子结点命中; (3)非叶子结点相当于是叶子结点的索引(稀疏索引),叶子结点相当于是存储(关键字)数据的数据层; 2.如果我们定义了主键(PRIMARY KEY),那么InnoDB会选择主键作为聚集索引.如果没有显式定义主键,则InnoDB会选择第一个不包含有NU