Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL根据行序列号更新查询_Sql_Phpmyadmin - Fatal编程技术网

SQL根据行序列号更新查询

SQL根据行序列号更新查询,sql,phpmyadmin,Sql,Phpmyadmin,我有一个表,我想用SQL查询语句更新这个表。 例如,如何编写语句来更新第三行? 我的意思是,我想根据某一行在表中的出现顺序对其进行更新 第三排 什么时候订购的?SQL数据库不保证任何给定查询中记录的顺序,除非明确给出了一个orderby子句 使用WHERE子句标识要更新的行。例如: UPDATE SomeTable SET SomeColumn = 'Some Value' WHERE AnotherColumn = 'Another Value' 您可以将大量布尔逻辑链接到WHERE子句中,

我有一个表,我想用SQL查询语句更新这个表。 例如,如何编写语句来更新第三行? 我的意思是,我想根据某一行在表中的出现顺序对其进行更新

第三排

什么时候订购的?SQL数据库不保证任何给定查询中记录的顺序,除非明确给出了一个
orderby
子句

使用
WHERE
子句标识要更新的行。例如:

UPDATE SomeTable SET SomeColumn = 'Some Value' WHERE AnotherColumn = 'Another Value'
您可以将大量布尔逻辑链接到
WHERE
子句中,以创建更复杂的方法来标识要更新的记录。但关键是你必须识别记录。“第三行”对SQL没有任何意义


一旦有了
orderby
子句,您也许可以做一些更复杂的事情。例如,对子查询中的记录进行排序,并使用该查询中的标识符。所以你可能会得到这样的“第三排”:

SELECT ID FROM SomeTable ORDER BY ID OFFSET 2 LIMIT 1
然后在
更新中使用它:

UPDATE SomeTable SET SomeColumn = 'Some Value'
WHERE ID IN (SELECT ID FROM SomeTable ORDER BY ID OFFSET 2 LIMIT 1)

(假设是MySQL,因为您没有指定,但其他RDBMS引擎也有类似的功能)

我不知道您使用的是哪种DBMS。如果您使用的是Oracle DB,则可以使用伪列ROWID和ROWNUM来实现此目的。

显示您尝试过的内容。。。并发布一些代码和表结构…在更新前后添加示例表数据。行在Sql表中没有任何序列。如果没有指定ORDERBY子句,Sql DBMS可以按任意顺序返回行。假设我的表是这样的:name age level nour 12 4 mike 13 5 rik 14 1,我想更新第三行,可以吗?您好,谢谢您的快速回复。我想要的是编辑表的第三行,不带任何顺序,只根据它在表中的外观顺序。我不想使用其他列,因为我正在生成一个动态代码,在我的代码中,用户可以编辑表中的所有列,所以我不知道应该依赖哪一列将其置于where条件。