在mysql中选择唯一的行标识符进行更新

时间:2013-03-02 04:55:49

标签: mysql

在infomix中的

我见过像这样的查询

select rowid from table where condition

对于更新,他们使用相同的行ID

update table set field="val" where rowid=rowid

mysql数据库中有什么类似的东西

uuid函数在mysql中的功能是否相同。

实际上我的问题是,表中没有主键,因此在将infomix查询移植到mysql时我需要考虑where where condition中的所有字段。 如果有替代解决方案,请提供帮助

3 个答案:

答案 0 :(得分:1)

为什么不......

select  rowid  from  table  where  condition
                                      |
                                      V
update table set field="val" where condition   

答案 1 :(得分:0)

如果要将查询从informix移植到mysql,为什么不修改表以包含主键?

你甚至可以命名PK rowid来维护informix和mysql查询之间的可移植性。

ALTER TABLE table
ADD rowid MEDIUMINT NOT NULL AUTO_INCREMENT KEY

答案 2 :(得分:0)

you can use same condition for both query which you pass on first query, it returns you unique row..

试试这个

select  rowid  from  table  where  condition

和更新使用与上述相同的条件而不是row id

update table set field="val" where rowid=rowid