问题标签 [sql-update]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
7296 浏览

mysql - 您只更新更改的字段还是所有字段?

我想知道在更新记录以检索现有记录时是否值得服务器时间,循环检查更改的字段并仅将更改的字段放入更新查询中?(我正在使用 MySQL 和 PHP。)

这样做的主要原因是为了减少更新查询的大小以用于更改日志。通常查询可能有 15 个字段,但实际上只有 2 个字段被更改。这个查询也可以用于记录,因为它只包含更改的字段,因此更容易解析。

我担心的是检索现有记录所需的时间。

或者有没有办法从 MySQL 中检索它更新了哪些字段?

0 投票
7 回答
2068 浏览

mysql - 在mysql中维护/更新记录顺序

我在 mySql 中有一个记录表。我需要维护用户指定的订单。所以我添加了一个“位置”列。

当我移动特定记录时,更新所有记录的 SQL 语句是什么?我有类似的东西:

但是,如果记录下降,大于将是小于。有什么诀窍?谢谢!

0 投票
2 回答
2552 浏览

sql - 在 MS SQLServer 中交换两行保留原始主键且无需手动更新

我有以下问题:我有像

我想交换它们,保留所有旧的主键和约束。当然,我可以通过更新行轻松地手动解决这个问题。我有点想知道是否有人对此类问题有任何出色的解决方案,而不仅仅是手动执行更新命令。我真的非常感谢任何建议或建议。

0 投票
4 回答
433 浏览

ms-access - Access DB 查询 - 需要帮助更新某些记录

我有一个用于跟踪票证的访问数据库。由于与该票证相关的不同编程更改,每张票证可能有多次出现。每条记录还有一个 program_type 字段,即 SVR 或 VB。例子:

我在数据库中添加了一个名为 VB_Flag 的列,默认为 0,我想为每张包含 VB 代码的票将其更改为数字 1。所以,这里的结果是:

但是,我一生都无法弄清楚如何编写此更新查询。起初我试过:

但这显然遗漏了所有与 VB 代码共享票号的 SVR 代码。

我不知所措。帮助?

0 投票
4 回答
7328 浏览

sql - 优化sql更新

我们有 2 个名为TableToUpdateDates的表。我们需要通过查看其他表Dates来更新TableToUpdate的 EndTimeKey 列。我们在下面运行 sql 来执行此操作,但需要很长时间才能完成。

TableToUpdate有 6M 条记录。表日期有 5000 条记录。

我们如何优化它?

感谢您的回复!

0 投票
8 回答
67857 浏览

sql - MS Access 中的 SQL 更新问题 - 操作必须使用可更新查询

我有一个选择查询,它执行一些文本操作以基本上重新格式化一个字段,以便我可以在另一个表中查找它:

如果我的第一个表有一个像“J1/2”这样的字段,它会在不同的表中查找记录的 ID,其中 J1 和 J2 在相应的字段中。

这一切都很好。

现在我想更新原始表,因此我不必再使用此字符串操作进行查找,但我对更新查询的尝试以“操作必须使用可更新查询”结尾

有任何想法吗?

我的 SELECT 语句:

回想一下——这很好用,我从另一端得到了必要的 t2.ID。

所以我想做类似的事情:

只有这个失败。这是在 MS Access 本身内,所以我无法想象像大多数“操作必须使用可更新查询”问题那样的实际权限问题。

编辑:试图简化不起作用的情况。

这个 UPDATE 查询很好:

这个失败了(感谢 Goedke——这个例子显然失败了,因为子查询返回了 1 个以上的结果。我过于简单地试图找到我的问题)

那么我只是在某种程度上让我的子查询语法错误吗?

编辑:这个 SELECT 语句也很好:

此外,在上面的 select 语句中使用 count 表明每个 (DD,TN) 组合恰好返回 1 个 ID

编辑:

我现在要做的最简单的情况——使用各种 SELECT 语句,我现在有一个只有 2 列的表——t1 的主键和我想要插入到 t1 中的值。

好像还是写不出来

其中 t1 的主键是 f1。即使添加 WHERE t1.f1 IN (SELECT f1 FROM t2) 也无济于事。(添加以消除子查询返回0结果的可能性)

0 投票
4 回答
35897 浏览

sql - UPDATE 使用两个表,串联

我需要创建此查询中涉及的两个表,并且我不确定如何连接这两个表以进行更新。

我有一个 ITEM 和 CONSUMER_ITEMS 表。ITEM 表中的每个项目都有一个不同的代码和一个 UPC 代码。我需要将带有 ITEM.UPC_CODE 的字符串连接到 CONSUMER_ITEMS.NEW_ITEM_CODE 其中 CONSUMER_ITEMS.ITEM_CODE = (ITEM.ITEM_CODES 的特定列表)

我将如何更新 CONSUMER_ITEMS.NEW_ITEM_CODE 字段?

它本质上等于“字符串”|| ITEM.UPC 但我如何引用 CONSUMER_ITEMS.ITEM_CODE 以等于要更新的​​ ITEM_CODES 列表中的特定 ITEM_CODE。

0 投票
7 回答
4794 浏览

sql - 在 SQL 更新触发器中添加约束以防止重复

我们有一个用户表,每个用户都有一个唯一的电子邮件和用户名。我们尝试在我们的代码中执行此操作,但我们希望确保用户永远不会使用相同的电子邮件用户名插入(或更新)到数据库中。我添加了一个BEFORE INSERT触发器来防止重复用户的插入。

但是对于更新触发器,我不知道该怎么做。我用谷歌找到了这个例子:http: //www.devarticles.com/c/a/SQL-Server/Using-Triggers-In-MS-SQL-Server/2/ 但我不知道它是否适用当您一次更新多个列时。

编辑:

我尝试在这些列上添加唯一约束,但它不起作用:

0 投票
6 回答
11101 浏览

sql - Oracle 11g 中的更新

我必须更新表中的字段。我正在使用以下查询。帮帮我,哪一个是对的?

或者

哪一个是对的?还是两者都不正确?请建议一些方法...

0 投票
1 回答
3258 浏览

mysql - SQL:在嵌套 FROM 子句中的 UPDATE 语句中使用目标表

我有一个(mysql)数据库表,其中包含以下列:

我希望 Max(UPDATE_COUNT) 的值反映对表中的行执行的更新的累积次数。例如,从一个空表开始:

ETC..

因此,对于任何行,无论是更新还是插入,每行插入或更新的更新计数值为 max(update_count) + 1。

这个想法是“从 mytable 中选择 max(update_count)”结果表示执行的插入/更新的总数。

我想编写自动增加 update_count 值的插入和更新 sql 语句,例如:

但是这不是有效的 sql,更新语句我不包含从同一个表中选择的 from 子句,mysql 中的错误是:

有关如何规避此限制的任何建议?