易截截图软件、单文件、免安装、纯绿色、仅160KB

mysql update语句的问题

我想要更新某个表排序后靠前的数据,于是写了一个语法:
update dcproduct set pOrder=pOrder+2 order by pOrder desc,id desc limit 6;这个是可以运行的,结果是更新了前六条记录。
后来发现漏了个条件要连表查询于是写成:
update dcproduct a join dcproductsort b on a.pSortid=b.id set pOrder=pOrder+2 where parentid=1 order by a.pOrder desc,id desc limit 6;
结果就报错了,

有没有人知道怎么写啊?
报错信息是什么? 没有必要让大家猜吧。

#1221 - Incorrect usage of UPDATE and ORDER BY

UPDATE中如果是两个表,则不能使用 order / limit

不好意思,我想要解决办法,不是错误原因....

不好意思,我想要解决办法,不是错误原因....

try:
update dcproductsort b join
(select * from dcproduct
order by pOrder desc,id desc limit 6) a
  on a.pSortid=b.id set pOrder=pOrder+2 where parentid=1

建议给出你的测试数据,这样比较容易了解你的需要是什么。

建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。

6楼的大大,报错
#1288 - The target table a of the UPDATE is not updatable


我的数据很简单,product表是产品,productsort是分类,pOrder是产品的排序字段,前台排序按照 排序字段和id字段排,
目前要做的就是把前台显示在最前面的几条数据的pOrder增加2。

先谢谢大家帮助拉,如果不行我只能通过其他程序实现了。

在MYSQL 5。.1。32下测试,SQL语句没有问题
UPDATE lsb3 b JOIN
(SELECT * from lsb2


相关问答:

apache+PHP+mysql在win7下使用

如题,这三个在win7下使用会有什么兼容性问题吗?
由于我最近在使用win7,就懒得进xp了!
自己用windows 2008有一年多了,没出现任何问题。

win7测试版也用过,不会有什么问题的,放心。

当然你最 ......

mysql如何实现高效的搜索?

一个行业网站,要实现的功能要求为:

一搜索表单可选搜索 产品/资讯/商家,搜索时希望先搜标题后全文,当前的数据量估计3万多,定位期望在百万级也可用。

数据类型为innodb,当前的方法是对关键词进行 ......

Winform+MySQL做项目

Winform+MySQL做项目,在注重性能的情况下,我该如何去完成这类型的项目呢!
请各位给以提示。
你这个范围太广了,我说2点重要的吧
1.WINFORM程序是单独运行的CS程序,和BS不同,BS的压力始终都在SERVER上的,对C ......

mysql 编译选项问题

请问各位大哥,静态编译时,mysql编译选项--with-mysqld-ldflags后面用-all-static和-static有什么不同吗?


引用
-all-static 见到过,是所有的文件为静态LINK,这样mysqld的运行效率会比较高,同样尺寸会 ......

MySQL多线程

在进行数据库读写的时候,一般情况下都是单线程的,但是如何在操作的时候也使用多线程呢?使用多线程安全吗?多线程是如何保证安全的呢?如果有代码的话,贴出累或者把代码共享给我学习学习。。。多谢!
你是指外面 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号