当前位置: 首页 > 知识库问答 >
问题:

编辑增量列中的SQL内容

奚曦哲
2023-03-14

这是我的桌子:

create table empty 
(
    data_id int identity(1,1),
    emp_name varchar(20),
    address varchar(20),
    city varchar(20)
)

这是表中的数据:

data_id   emp_name      address        city 
---------------------------------------------
1         ritesh        210 b_block     sivapur
2         pritma        visvaas khand   lucknow
3         rakesh        nehru nagar     delhi

我想将data\u id=1的值更改为data\u id=10。但是怎么做呢?

提前感谢

共有3个答案

徐绪
2023-03-14

您应该尝试重命名该表,而不是此处所示的空表

司徒英卓
2023-03-14

您可能不应该这样做,因为您的标识列已经保证具有唯一的值。手动将一条记录更新为另一个值可能会破坏约定。也就是说,如果必须这样做,您只需要一个简单的更新:

UPDATE empty
SET data_id = 10
WHERE data_id = 1;
白子明
2023-03-14

关于你的问题,我想与你分享一些事情:

  1. 您不能更改主键列值,因为您将自动递增设置为1。请参见标识的概念:(1,1)在SQL中的含义是什么

第一个1表示列的起始值,第二个1表示列的增量值

不要使用SQL服务器保留字,如为您自己的数据库对象(如表)

不推荐,但仍要修改,然后尝试此操作,添加具有值的新行并删除该行(如何在SQL Server中更新标识列?)

无法更新标识列。SQL Server不允许更新标识列,这与使用update语句可以对其他列执行的操作不同。

   --create table empty 
   --(
   --    data_id int identity(1,1),
   --    emp_name varchar(20),
   --    address varchar(20),
   --    city varchar(20)
   --)
   
   --select * from empty
   --Insert into empty values
   --('ritesh','210 b_block','sivapur'),
   --('pritma','visvaas khand','lucknow'),
   --('rakesh','nehru nagar','delhi')
   
   select * from empty

   SET IDENTITY_INSERT [empty] ON;

   --give error as we do not change the auto increment column, so comment and then run
   --update [empty] 
   --set data_id = 10 where data_id = 1;

   INSERT INTO [empty] (data_id, emp_name, address, city)
       SELECT 10 data_id, emp_name, address, city 
       FROM [empty]  
       WHERE data_id = 1;

   SELECT * FROM [empty] 

   DELETE [empty] 
   WHERE data_id = 1;

   SET IDENTITY_INSERT [empty] OFF;

   SELECT * FROM [empty] 
 
 类似资料:
  • 问题内容: 我试图更深入地了解后期和前置增量器,但以下表达式有些卡住: 我知道我在某个地方缺少逻辑,但是在哪里? 我尝试过的 从左到右(尽管我知道不建议这样做) 从内部支架开始,然后从那里开始。 谢谢您的帮助 PS:评论是我演算的细节 编辑1 我试图将硬编码值从表达式更改为其他值,结果总是 看这个例子: 该表达式在逻辑上应该相距不远,但确实可以打印出来。 当我使用负数时也会发生同样的情况: 编辑2

  • 在“SQL 编辑器”选项卡,你可以创建和编辑视图的 SELECT 语句 SQL。Navicat Data Modeler 为编辑视图定义提供广泛的高级功能,例如:编辑代码功能、智能自动完成代码、设置 sql 格式及更多。 【提示】当你在视图创建工具创建视图,SELECT 语句将会自动生成。 美化 SQL(仅适用于非 Essentials 版) 若要格式化凌乱的 SQL 代码到一个结构良好的脚本,你

  • 问题内容: 使用什么是能够编辑内容的最佳方法? 在我理想的情况下, 添加的 生日将是一个超链接,点击该链接将显示一个编辑表单-与带有更新按钮的当前添加表单相同。 实时预览(插播) HTML: App.js: 问题答案: 您应该将表单放在每个节点内,分别使用和启用和禁用编辑。像这样: 这里的关键点是: 我已将控件更改为本地范围 已添加到,因此我们可以在编辑时显示它 添加了带有的,以便在编辑时隐藏内容

  • 我正在尝试使用数据表。列之间的js内联编辑器选项卡https://editor.datatables.net/examples/inline-editing/tabControl.html他们的例子很好用,但我似乎不明白如何禁用我不想内联编辑的列? 网站上的例子 我试着改成 因此,它只针对具有可编辑类的TD。。但是它不起作用。。 不管怎样,如果有人用过这个,我会很感激一个提示:)谢谢!

  • SQL 编辑器让你创建和编辑 SQL 文本,准备和运行已选择的查询。你可以在一个查询窗口编写多句 SQL 语句。拖放或双击右侧的“标识符”窗格的一个标识符来将它添加到编辑器中。 【提示】当你使用 SQL 创建工具创建 SQL 时,SELECT 语句将会在 SQL 编辑器中自动生成。 Navicat 提供广泛的高级功能,例如:编辑代码功能、智能自动完成代码、设置 SQL 格式及更多。 设置 SQL

  • 编辑器让你创建和编辑 SQL 文本,准备和运行已选择的查询。你可以在一个查询窗口编写多句 SQL 语句。拖放或双击右侧的“标识符”窗格的一个标识符来将它加到编辑器中。 【提示】当你使用 SQL 创建工具创建 SQL 时,SELECT 语句将会在 SQL 编辑器中自动生成。 Navicat 提供广泛的高级功能,例如:编辑代码功能、智能自动完成代码、设置 SQL 格式及更多。 设置 SQL 格式 若要