首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 小鸟:如果主码使用标示种子的话 那么怎么插入数据呢?
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-11 17:20:52 楼主
    table:stu
    sid identity pk;
    sname char;
    sgender boolean;

    插入数据该怎么写?
    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • liangCK
    • 等级:
    发表于:2008-05-11 17:21:291楼 得分:0
    SQL code
    --1. 会话中某个表已将此属性设置为ON,当为另一个表发出了SET IDENTITY_INSERT ON 句时将出错 --测试的表 CREATE TABLE ta(id int IDENTITY(1,1),col int) CREATE TABLE tb(id int IDENTITY(1,1),col int) GO --设置 IDENTITY_INSERT 属性 SET IDENTITY_INSERT ta ON SET IDENTITY_INSERT tb ON GO /*======================================================*/ --2. 如果插入记录的标识值大于表的当前标识值,则SQL Server自动将新插入值作为当前标识值使用 --测试的表 CREATE TABLE tb(id int IDENTITY(1,1),col int) --强制在表中插入标识值 SET IDENTITY_INSERT tb ON INSERT tb(id,col) VALUES(10,1) SET IDENTITY_INSERT tb OFF INSERT tb(col) VALUES(2) SELECT * FROM tb /*--结果 id col ----------------- ----------- 10 1 11 2 --*/ GO /*======================================================*/ --3. 如果插入记录的标识值小于表的当前标识值,则表的当前标识值不受新插入值的影响 --测试的表 CREATE TABLE tb(id int IDENTITY(1,1),col int) INSERT tb VALUES(1) INSERT tb VALUES(2) --强制在表中插入标识值 SET IDENTITY_INSERT tb ON INSERT tb(id,col) VALUES(1,11) SET IDENTITY_INSERT tb OFF INSERT tb(col) VALUES(3) SELECT * FROM tb /*--结果 id col ----------------- ----------- 1 1 2 2 1 11 3 3 --*/
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • dawugui
    • 等级:
    发表于:2008-05-11 17:23:052楼 得分:0
    SQL code
    insert into stu(sname , sgender) values(sname_value , sgender_value)
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • hackztx
    • 等级:
    发表于:2008-05-11 17:25:493楼 得分:0
    引用楼主 tonnye888 的帖子:
    table:stu
    sid identity pk;
    sname char;
    sgender boolean;

    插入数据该怎么写?


    只要是设置为标示种子的(identity_insert为on状态)
    那么那行你不用管了,可以自动生成你设定的值,比如说identity(1,1),那么就是自+1

    insert into stu values ('ztx',1)

    就可以了。。。我不知道你使用的什么数据库(boolean没见过,,,,bit倒是使用过)

    select * from stu

    正常情况下:
    1  ztx 1
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-11 17:29:504楼 得分:0
    只要插入另外的两个字段就可以了阿,这个字段系统会自动维护的
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-12 08:44:555楼 得分:0
    insert into stu(sname , sgender) values(sname_value , sgender_value)
    设为Identity的列,系统会自动维护,不能够往Identity列插入数据,会出错。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-12 10:03:076楼 得分:0

    insert into stu(sname,sgender) values('','')
    --也可以直接写 insert into stu values('','')

    或者

    set identity_insert on

    insert into stu(sid,sname,sgender) values('','','')
    --也可以直接写insert into stu values('','','')

    set identity_insert off
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-12 10:04:507楼 得分:0
    汗,打错了

    应该是set identity_insert stu on

    set identity_insert stu off

    没打上表名=。=
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-12 17:40:488楼 得分:0
    呵呵,其实也可以全部插入,用以下SQL语句即可:
    insert into stu values(default,sname_value , sgender_value)
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved