【问题标题】:Why does this MySQL query not work?为什么这个 MySQL 查询不起作用?
【发布时间】:2011-05-04 03:48:09
【问题描述】:

mysql

create temporary table t2 
select min(id) 
from mycontent 
group by download_link;   

ERROR 1205 (HY000): 超过锁定等待超时;尝试重启事务

【问题讨论】:

  • mycontent 表有多大?
  • 我在这里猜测,但是 group by 子句不是多余的吗?

标签: sql mysql database


【解决方案1】:

也许尝试分开做。

1) create temporary table t2;

2) select min(id) from mycontent group by download_link;   

值得一试。

【讨论】:

    【解决方案2】:

    据我了解 group_by,您需要选择分组字段以使查询有意义。你想达到什么目的?

    想象一下这张桌子:

    download_link, id
    -----------------
    ''           , 3
    'foo'        , 3
    

    使用您的查询,这将选择

    3
    3
    

    因此解释您的锁定问题,因为第 1 行已被事务锁定但需要被第 2 行替换。

    【讨论】:

      【解决方案3】:

      当您尝试从中进行选择时,您的 mycontent 表可能被其他事务锁定。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-02-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多