问题标签 [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.
mysql - SQL :具有动态列值分配的更新语句
想象一下下面的 sql 查询:
假设在执行更新之前 MAX(COL2) 为 1。
我的意图是,对于 ID=1 COL2 的更新,将其更新为 'max(COL2) + 1'(即 2),并且对于后续更新,重新评估 'MAX(COL2) + 1',以便对于 ID =2,COL2=3 和 ID=3,COL2=4 等等...
实际发生的是对于所有行 (ID=1,2,3,4,5),COL2 的值为 2。
是否有一种聪明的方法可以在每次更新时“重新评估” MAX(COL2) +1 的值?我意识到这样做可能会出现性能问题,但我仍然很好奇!有没有更好的选择(不涉及多个更新语句)?
顺便说一句:如果您想知道上述查询(嵌套内表)使用的语法,请参见此处:SQL:在嵌套 FROM 子句中的 UPDATE 语句中使用目标表
mysql - MySQL 中是否有“如果没有这样的行插入 yyy 则更新值”?
我想更新 Mysql 5 上的表值,但如果键不存在,请创建它。
我发现这样做的方法是:
问题是:上述格式是否比其他方法效率低(因为插入只会发生一次并且更新会经常发生)?
例如:
此外:在 Mysql 中有没有更好的方法来做到这一点:例如一种:
更新:对于那些建议更换的人,这里是我的问题的扩展:“谢谢!我需要增加一个已经在表中的计数器(如果它存在)。如果没有为该列创建一个值为 1 的表行。如何使用这种格式进行更新(REPLACE)?”
mysql - MySQL UPDATE 和 SELECT 一次完成
我有一个要执行的 MySQL 任务表,每一行都有一个任务的参数。
有许多工作应用程序(可能在不同的机器上)循环执行任务。
这些应用程序使用 MySQL 的本机 C API 访问数据库。
为了拥有一项任务,应用程序会执行以下操作:
生成一个全局唯一的 id(为简单起见,假设它是一个数字)
UPDATE tasks
SET guid = %d
WHERE guid = 0 LIMIT 1
SELECT params
FROM tasks
WHERE guid = %d
如果最后一个查询返回一行,我们拥有它并拥有要运行的参数
有没有办法在对服务器的一次调用中实现相同的效果(即“拥有”一行并获取其参数)?
jsp - JSP/Servlets 触发 SQL 更新
我有一个小窗口,里面有一个 IRC 客户端,当用户登录到 jsp 页面时会打开它。我正在尝试找出一种在关闭弹出窗口后调用 SQL 更新语句的方法。
有人对我该如何做这件事有任何想法吗?
谢谢
〜凯尔G
mysql - 如何在更新时加入表
我有以下查询:
它会查找特定城市中状态为 5 且超过 6 个月的记录(该日期存储在 LA)。这将返回大约 4k 个结果。我想将每条记录的状态值更新为 1,因此我的更新如下所示:
但它会停止并锁定数据库。我怀疑有问题,因为没有加入,但我尝试类似:
它显然不起作用,因为更新中没有“来自”。
编辑>我正在使用 MySQL
sql - 如何在 Derby 中模拟 UPDATE x SET (col1, col2) = ( SELECT a,b FROM y )?
Derby 不支持这种语法:
(见这个错误)。除了在 Java 中创建一个循环来执行选择并发送 N 个更新之外,还有其他人有解决方法吗?
[编辑]请注意,我有 50 列和一个复杂的条件(与 x 和 EXISTS 等连接)。所以我想避免重复 SELECT 50 次,请:)
sql - 缺少值时更新数据库表
我有两张桌子:
账单 :
汇率:
这就是我想要做的:
我想将我的 Bill 表更新为
在此更新中,所有具有该特定日期条目的行都将获得新的报告货币数据。由于 Bill 表可以有多个符合更新条件的行,所以我遇到了以下问题:
对于 FxRate 表(该日期)中没有条目的行,ReportingCurrency 变为 NULL。我想返回nearest <= RateDate
并获取汇率。是否可以使用同一更新语句中的修改或其他一些有效的方法?(我想避免使用光标)。
java - 更新数据库记录的最佳实践
假设您检索 100 条记录,并将它们显示在页面上。用户仅更新页面上的 2 条记录。现在您只想更新两条记录,而不是其他 98 条记录。
最好在页面上提交一个,然后以某种方式知道哪两个已更新,然后仅将这两个发送到数据库进行更新?
“不知何故”是什么样子的?
或者,您是否会为每一行设置一个更新提交按钮,并让它只更新与其关联的记录?
sql - 如何使用 ms sql 进行更新和排序
理想情况下,我想这样做:
In English: 我想从数据库中获取前 10 条可用 (status=0) 消息并锁定它们 (status=10)。优先级更高的消息应该首先得到。
不幸的是,MS SQL 不允许在更新中使用 order by 子句。
无论如何如何规避这个?
sql - SQL 更新查询
我们将主键与字段 no、id 和 groupno 组合在一起
在 Access 中,诸如 WHERE 条件的WHERE no = '' & groupno = ''
执行速度更快,而同样的事情会减慢 SQL 中的更新速度。
一旦我们提供了 no 和 groupno 的单个索引,它会更快吗?
如果我们提供具有 3 个三个字段的主键并且没有基于这些字段的单独索引,它是否将其视为组合键?