将 sybase 中现有的 int 列更改为标识

2024-03-26

赛贝斯12.5

我有一个正在生产中的现有表,需要更改它的 PK int 列,以便自动填充 - 创建表时,理想情况下将 ID 列创建为标识。此 ID 列是多个其他表中的外键,因此不能删除该表并重新开始。问题是,我无法将 PK 设置为 IDENTITY,并且使用当前值创建临时列并将它们复制到新的 IDENTITY 列也失败。

由于 ID 列已经填充,我不能简单地将这一列转换为 IDENTITY(至少,我还没有找到任何可以执行此操作的 SQL)。

我创建了该表的副本,其中有一个附加列保存当前 PK 值 (division_id_tmp)。

CREATE TABLE division_tmp
(
   division_id int IDENTITY NOT NULL 
   division_id_tmp int,      
   description varchar(255) NOT NULL,
   is_active tinyint DEFAULT 1 NOT NULL,
)

当我尝试从原始表中输入数据脚本时

INSERT INTO division_tmp
(description,is_active,division_id_tmp,division_id) 
VALUES 
('TEST',1,36,34)

我收到以下错误:

Error: Explicit value specified for identity field in table 'division_tmp' 
when 'SET IDENTITY_UPDATE' is OFF.

如果我运行该语句:

SET IDENTITY_INSERT division_tmp OFF

该语句执行时没有任何抱怨,但尝试插入数据脚本会导致与上面相同的错误。如果我运行该语句

SET IDENTITY_INSERT ac_division_lookup_awd ON

我收到错误

Error: Unable to 'SET IDENTITY_INSERT' for table '**division_tmp**' because 
IDENTITY_INSERT or IDENTITY_UPDATE is already ON for the table '**division**' in 
database 'preserve'.

我不可能是第一个遇到这个问题的人吧?关于我哪里出错了有什么想法吗?

Thanks


解决了。认为根本问题是我是一个工具。

混淆以下内容:

IDENTITY_INSERT 

and

IDENTITY_UPDATE

所以,我需要做的是:

alter table division add division_id_tmp int IDENTITY not null 
SET IDENTITY_UPDATE division ON
update division set division_id_tmp = division_id
SET IDENTITY_UPDATE division OFF
alter table division drop division_id
EXEC sp_rename 
    @objname = 'division.division_id_tmp', 
    @newname = 'division_id', 
    @objtype = 'COLUMN'

任务完成!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 sybase 中现有的 int 列更改为标识 的相关文章

  • openstacksdk如何更改当前用户密码

    我找到了CLI or API请求方法 它们对我有用 如下所示 source etc kolla admin openrc sh openstack user password set password newpsw original pas
  • 保留尾随空格 Sybase

    我有一大块文本数据 我将其拆分并写入多行varchar 255 表的列 有时 最后一个字符恰好是空格 当我读回这一行时 尾随空格被截断 我只得到 254 个字符 当我将下一行附加到这一行的末尾时 这会弄乱我的数据 我的代码将完整的 255
  • sybase:如果可能的话,如何删除所有表和存储过程?

    我想删除架构中的所有表和存储过程 有人知道如何做到这一点吗 如果可能的话 我想避免删除整个数据库 您可以通过一系列删除来迭代 sysobjects 表 并系统地删除您想要删除的所有对象 declare tables cursor for s
  • 由于表已存在而无法插入表中?

    我有一个用户表 我想将数据插入到我的用户表中 我有一个声明 SELECT columna columnb INTO my table FROM my other table WHERE conditions 我收到以下错误 SQL Serv
  • 如何使用 JDBC 驱动程序和 SSL 连接连接到 Sybase ASE

    我尝试使用 JDBC 驱动程序建立与 Sybase ASE 15 7 的 SSL 连接 但没有成功 我尝试了以下选项 使用 JTDS 1 25 驱动程序 jtds 1 2 5 jar 使用以下连接字符串 jdbc jtds sybase h
  • 在 C#/.NET 中将用户名转换为 SID 字符串

    有一个问题是关于从 SID 转换为帐户名 https stackoverflow com questions 499053 how can i convert from a sid to an account name in c 没有相反的
  • 实体框架 - SaveChanges() 未获取生成的身份密钥

    我在我的项目中使用实体框架 这真是一场噩梦 我有一个 SQL 数据库 有一个名为 Form 的表 Form有一个ID 它是PK和Identity 它是自动增加的 这次我这样做 Dim form as int32 Dim dbform As
  • 如果我为实体分配一个 ID,那么如何让 NHibernate 保存它,否则生成一个 ID?

    根据 REST 哲学 PUTrequest 应该更新 URL 上的资源 如果存在 如果不存在则创建它 换句话说 如果我使用以下 URL PUT http server item 5 If an ItemID 为 5 的存在 它将被更新 如果
  • 使用 python w/rest api 与 Azure Key Vault 交互

    我对使用最近发布的新服务在 Azure 中进行秘密管理非常感兴趣 我找到了一些示例指南 介绍了如何通过 powershell cmdlet 和 C 与 Key Vault 进行交互 但是还没有找到太多关于开始使用其余 API 的信息 我特别
  • SymPy 中眼睛和身份的区别

    在 SymPy 中 有什么区别eye 5 and Identity 5 如果我有一个矩阵X 我看到X eye 5 and X Identity 5 给出不同的结果 后者不是矩阵 SymPy 区分 显式矩阵 具有一定的大小 例如 3 x 3
  • 从 KeyMembers 中获取身份字段

    我想得到KeyMembers我在 Edmx 中设置的位置StoreGeneratedPattern to Identity有没有办法做到这一点 我可以使用以下代码获取 KeyMembers private static IEnumerabl
  • Xcode 4 中身份检查器下的标签颜色

    在身份检查器下 我们都知道标签属性用于在界面生成器中更容易地识别对象 但是它底部的颜色是用来做什么的 我尝试选择一种颜色 但界面生成器中没有任何变化 编辑 截图 如果您还没有使用颜色标签来对文件和文件夹进行排序 那么您确实应该考虑它 使用颜
  • 跨多个表维护 Identity 值

    我们遇到的情况是 多个表中有一个名为 Customer Number 的列 该列是所有表中的标识列 但是有没有办法可以使该列在所有表中唯一 例如 如果我在 table one 中添加一行 并且标识列为其分配值 1 现在如果有人在 table
  • EntityType 未定义键

    我正在创建一个应用程序 用户通过 Facebook oAuth 登录 然后设置歌曲列表 我收到以下错误消息 BandFinderCsharp Models IdentityUserLogin EntityType IdentityUserL
  • 将数据库返回的浮点值舍入为“正确”值

    我有一个数据库列 其中包含 由于某种原因在一段时间内丢失 浮点值 因此 有人用一些小值 比如 0 00025 填充数据库表 当我运行报告时 我实际上得到了 0 000249999999 或者类似的值 因为无法表示输入的值 有没有可靠的方法来
  • 如何“合并”、“展平”或“透视”将多行返回到单个结果的查询结果?

    我对表进行了一个简单的查询 它返回如下结果 id id type id ref 2702 5 31 2702 16 14 2702 17 3 2702 40 1 2703 23 4 2703 23 5 2703 34 6 2704 1 14
  • SQL Server 2012 列标识增量在第 7 个条目上从 6 跳到 1000+ [重复]

    这个问题在这里已经有答案了 我有一个奇怪的场景 其中 SQL Server 2012 数据库中的 auto Identity int 列没有正确递增 假设我有一个使用 int auto 标识作为主键的表 它偶尔会跳过增量 例如 1 2 3
  • 如何将 MVC 5 IdentityModels.cs 移动到单独的程序集中

    我想知道是否有人遇到了我在尝试搬家时遇到的问题ApplicationUser进入模型项目 所有其他模型都驻留在其中 包括与用户表相关的模型 我的测试 MVC 5 解决方案由一个 Web 项目和两个类库组成 一个用于数据访问层 DAL 另一个
  • 结果身份改变

    我正在使用 TOR 我想知道如何在需要国家 地区的结果节点之间切换 我可以简单地通过 telnet 9051 端口来更改它 例如 telnet localhost 9051 AUTHENTICATE r signal NEWNYM r qu
  • Sybase 中神秘的“时间戳”数据类型是什么?

    我最近在工作中发现 Sybase 数据库中的一个表使用 时间戳 类型的列 如果我使用这种神秘的时间戳数据类型创建一个表 如下所示 create table dropme foo timestamp roo int null insert i

随机推荐

  • jquery Accordion - 从外部链接单击返回时记住活动区域

    我的链接位于页面上的 jquery 手风琴内部 当访问者单击其中一个链接然后单击后退按钮返回我的页面时 我希望打开包含该链接的手风琴 我的假设是我应该使用 navigation true 设置并将主题标签添加到不同的手风琴 但这对我不起作用
  • Instagram 基本显示 API 错误 - 无效范围:['basic'] 或无效的 redirect_uri

    我正在使用 Magento 2 4 1 安装了社交登录扩展 并在登录 Instagram 时出现以下错误 我正在使用混合身份验证库进行登录 error type OAuthException 代码 400 error message 无效
  • Linux Xwindow 转发上的 Visual Studio Code

    我的配置如下 OS DISTRIB ID Ubuntu DISTRIB RELEASE 14 04 DISTRIB CODENAME trusty DISTRIB DESCRIPTION Ubuntu 14 04 4 LTS NAME Ub
  • 更新 my.cnf 中的变量

    I set lower case table names 2在 my cnf 文件中 设置变量后 我重新启动了 mysql 服务器 但当我使用时 该值仍然是 0SHOW VARIABLES 我正在使用 MySQL 5 5 任何想法还需要做什
  • HTML:阻止子元素继承父元素的 [title] 属性

    问题是 当我为 wrapper 元素声明标题属性时 当光标落入 content 元素内时 也会显示工具提示 如何防止这种情况 继承 发生 div title example div div div 我只想显示工具提示between cont
  • 如何使用 gradle 任务解析 .json 文件并从中获取 json 数据?

    有没有一种方法可以在 gradle 任务的帮助下解析 xyz json 文件并获取其中的所有单独的 json 数据 例如 我想解析存储在我的资产文件夹中的 xyz json 文件中的数据并获取其中的所有值 例如 获取 类型 的值 type
  • 在CSS中创建凹角[重复]

    这个问题在这里已经有答案了 是否可以在CSS中创建这样的凹角 如果是 你会怎么做 莉亚 维鲁有一个如何执行此操作的描述 http lea verou me 2011 03 beveled corners negative border ra
  • 使用 jQuery getJSON 时 JSON Feed 返回 null

    http portlandonline com shared cfm json cfm c 27321 http portlandonline com shared cfm json cfm c 27321 它返回 null 我真的无权接触
  • 匿名委托中捕获的私有字段

    class A public event EventHandler AEvent class B private A foo private int bar public void AttachToAEvent foo AEvent del
  • 数据工厂子项修改或创建日期

    我有一个数据工厂 V2 管道 由 获取元数据 和 forEach 活动组成 用于读取文件共享 本地 上的文件列表并将其记录在数据库表中 目前 我只能读取文件名 但还想检索每个文件的修改日期和 或创建日期属性 有什么帮助吗 谢谢 Accord
  • 使用SQL计算时间序列中的时间间隔

    我有一个像这样的 MySQL 表 CREATE TABLE IF NOT EXISTS vals DT datetime NOT NULL value INT 11 NOT NULL PRIMARY KEY DT DT 是唯一的日期和时间
  • iOS 自定义字体已移位

    对于一个项目我买了一个OTF字体并将其包含到我的项目中 添加到 plist 文件等 它有效 我可以在按钮上设置字体 但标签会被替换 我添加了屏幕截图 以便您可以看到我的问题 有人知道问题出在哪里吗 系统 iPad 3 iOS 6 0 bet
  • 有什么办法可以提取底层Xaml吗?

    无论如何 是否可以从控件中提取底层 xaml IE 我有一个名为 fooBox 的文本框 我可以在运行时从文本框获取代表文本框的 xaml 吗 这向您展示了完整的生命周期 从控件到 XAML 再到控件 如你看到的 string s Xaml
  • 有保证的方法可以在运行时获取成员字段的源顺序吗?

    我正在寻找一种按源顺序检索 在运行时 类的字段的方法 以便我可以执行自己的 初始化处理 该处理基于声明的顺序 我知道 Javadoc 用于Class getDeclaredFields 明确指出不保证订单 SO 上的一些答案指向Javass
  • iOS7中选择单元格时UITableView分隔线消失

    在我的 tableView 中 我在单元格之间设置了分隔线 我允许选择多个单元格 这是我设置选定单元格背景颜色的代码 UIView cellBackgroundColorView UIView alloc initWithFrame cel
  • 如何从没有 jenkinsfile 的存储库触发 Jenkins 管道构建?

    我有一个不包含詹金斯文件 https jenkins io doc book pipeline jenkinsfile 而且我无法影响存储库本身 这意味着我既不能向存储库添加也不能更改任何文件 在本例中 它是Qt repo http cod
  • ArrayAdapter 中 textview 的自定义字体

    我正在尝试更改 a 的字体TextView in my ArrayAdapter 字体chantelli antiqua ttf位于资产文件夹中 这是我的 Java 代码 listItemAdapter new ArrayAdapter
  • 按字母顺序对数组进行排序

    我有一个数组 我需要按出现次数对其元素进行排序 然后按字母顺序排序 例如 55 The 32 ASomething 32 BSomething ASomething should come before Bsomething because
  • 在iOS中以编程方式生成ppt

    为了生成 PDF 文件 我们可以使用 Core Graphics 同样 是否有任何框架 类可用于通过代码生成 ppt 幻灯片演示 文件 或者是否有任何第三方框架用于此目的 没有内置的 Apple API 我也从未听说过有这样的第三方框架
  • 将 sybase 中现有的 int 列更改为标识

    赛贝斯12 5 我有一个正在生产中的现有表 需要更改它的 PK int 列 以便自动填充 创建表时 理想情况下将 ID 列创建为标识 此 ID 列是多个其他表中的外键 因此不能删除该表并重新开始 问题是 我无法将 PK 设置为 IDENTI