小编Jua*_*ado的帖子

用于存储排名位置的MySQL更新语句

我正试图绕过一个查询而我无法理解它.如果有人给我指针,我将不胜感激.作为我想要实现的一个简单示例,我在数据库中有这些记录

Score|Ranking
-------------
100  |0
200  |0
300  |0
Run Code Online (Sandbox Code Playgroud)

我希望排名字段包含1,2,3根据谁获得最高分,所以结果应该是:

Score|Ranking
-------------
100  |3
200  |2
300  |1
Run Code Online (Sandbox Code Playgroud)

目前,我正在为所有这些记录做下一个循环,但实际上这可能是几千 - 这可能需要永远!有没有人对魔术查询有一个想法,可以一次性做到这一点?

mysql sql ranking sql-update

11
推荐指数
3
解决办法
1万
查看次数

在SQL中更新多个记录

如何使用SQL在单个语句中更新多个记录?:

UPDATE records
   SET name='abc' where id=3,
   SET name='def' where id=1
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-update

11
推荐指数
3
解决办法
3万
查看次数

您是否只更新已更改的字段或所有字段?

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

执行此操作的主要原因是为了更改日志目的而减小更新查询的大小.通常,查询可能有15个字段,但实际上只有2个字段正在更改.此查询也可以用于日志记录,因为它只包含更改的字段,因此更容易解析.

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

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

mysql changelog sql-update

10
推荐指数
1
解决办法
6025
查看次数

替换MySQL中的所有字段

我需要使用该REPLACE命令替换表的列中的一些字符.
我知道该REPLACE命令需要一个列名,然后是要更改的文本(在下面的例子中,'a'char)和新文本(在下面的例子中,'e'char).

UPDATE my_table SET my_column = REPLACE (my_column,'a','e' );
Run Code Online (Sandbox Code Playgroud)

这样执行这个命令将改变所有的" 中"出现my_column的列my_table表与" è "字符.

但是,如果我需要REPLACE为每一列执行命令而不仅仅是一个列呢?这可能吗?

谢谢

mysql sql replace sql-update

10
推荐指数
2
解决办法
1万
查看次数

mysql + update top n

我有这样的查询:

update  table
set     status = 1
where   status = 2;     
Run Code Online (Sandbox Code Playgroud)

但我只想这样做到前400名.我尝试添加'限制0,400'(就像我在查询中一样),但这不起作用.我做了一些搜索,mysql似乎不像sql server那样支持TOP(n)命令.

知道我是怎么做的吗?

编辑:为了将来参考,我使用以下样式进行选择,工作正常:

select  * 
from    table
where   ... limit 0, 400;
Run Code Online (Sandbox Code Playgroud)

但是在更新中,无论出于何种原因它都无法使用"0".我会考虑这种不一致和模棱两可的行为,但是哦.

mysql sql sql-update

9
推荐指数
1
解决办法
2万
查看次数

如何更新400强?

我想更新数据库表中的前400行.伪SQL在下面,我该怎么做?

UPDATE top (400) db.dbo.tbl
SET column1 = 2
WHERE column2 = 1
  AND column1 is null
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server sql-update

9
推荐指数
3
解决办法
2万
查看次数

SQL Server - ID在SELECT中的UPDATE表?

我有一个表,我想用选择结果中存在的ID更新所有行.

我的伪代码:

UPDATE mytable as t
   SET t.status = 'PM'
 WHERE t.ID EXISTS IN (select ID from ...)
Run Code Online (Sandbox Code Playgroud)

我已经设法做了select语句,现在我想使用select语句的结果来更新表.

sql sql-server sql-update

9
推荐指数
1
解决办法
3万
查看次数

"更新"行阻止是否也适用于连接表?

我在事务中进行了2次查询:SELECT(包含JOIN子句)和UPDATE.要求所选行中的数据在更新完成之前不会更改,因此我使用FOR UPDATE子句.我的问题是:'for update'是仅适用于从FROM子句中指定的表中选择的部分数据还是来自连接表的数据?我的DBMS是MySql.

mysql sql select sql-update

9
推荐指数
1
解决办法
3863
查看次数

如果记录在表中,则插入或更新

我有一张桌子汽车和CarDescriptions

汽车:IDCar(int,PK,autoincrement)carsDesciptions(IDDescription,Header(nvarchar),Content(nvarchar),idCar(int,FK)

在应用程序中,我正在添加汽车并编辑现有汽车.

我的问题:

1.如何保存更改的汽车与数据库中的描述?

我有车的ID,我有ID的描述

类CarDescirption没有像IsChanged这样的任何池,所以

我不想做这样的事情:

  1. 从iddes = @ idcar的carsdescriptions中删除
  2. 插入cardescriptions(,@ Header,@ Content,@ IDCar)

如果在表中,则必须更新记录,如果表中不存在则必须插入

c# sql sql-server-2005 sql-update

8
推荐指数
3
解决办法
6345
查看次数

如何将文本列值从mySQL中的一行复制到另一行

我有表pref有列值.该值具有类型文本.我想将id为7的行的值字段值复制到id为1的行的值字段.能否请您帮忙完成此操作.我知道MS SQL,但我是mySQL的新手.

create table pref
(
   id int,
   value text
)
Run Code Online (Sandbox Code Playgroud)

mysql sql sql-update

8
推荐指数
1
解决办法
9461
查看次数

标签 统计

sql-update ×10

sql ×9

mysql ×6

sql-server ×3

c# ×1

changelog ×1

ranking ×1

replace ×1

select ×1

sql-server-2005 ×1

t-sql ×1