【问题标题】:Can WHERE NOT IN queries cause a table to become corrupted?WHERE NOT IN 查询会导致表损坏吗?
【发布时间】:2016-08-25 05:33:36
【问题描述】:

几个月前,我遇到了一个问题,我的 MySQL 表不断损坏。我与支持人员交谈了数周,更换了服务器,甚至在Stack Overflow 上发布了一个问题,但找不到任何答案。从那以后,我重建了我的数据库,将一张表分成五张,大约三周后一切都很好。然后在其中一张桌子上发生了同样的问题。

今天早上,a 匆忙创建了一个查询来运行 cron 作业以搜索 WHERE NOT IN,而今天下午第二个表崩溃了。表损坏是否可以链接到 WHERE NOT IN?

查询是

SELECT asin
FROM asin_bsr
WHERE asin NOT IN
     (SELECT asin FROM asin_price)
LIMIT 9

asin_bsr 是之前有问题的表,asin_price 是今天损坏的表。

【问题讨论】:

  • 一个选择不写入数据库,那么它怎么会损坏它呢?
  • 但是它可以识别磁盘上的坏扇区并导致它被关闭,但这不是查询的错,只是@Dagon所说的磁盘驱动器的功能
  • @RiggsFolly 是的,如果是我并且我已经尝试了所有软件方法,我会将数据库移动到新驱动器。或者至少是驱动器上的一个新位置
  • 这里有一个 couplethings,可以为故障排除提供一些很好的起点。
  • 太棒了,谢谢@Don'tPanic

标签: php mysql phpmyadmin cron


【解决方案1】:

不,无法将损坏链接到 WHERE NOT IN。在更改数据或数据库结构方面,包含 WHERE NOT IN 的 SELECT 查询和没有它的 SELECT 查询是相同的。也就是说,SELECT 查询不会改变数据或数据库的结构。它们仅供查看。

在 CRUD 函数中,SELECT 查询表示“R”或“Read”。如果您正在运行的 SQL 代码以某种方式损坏了您的数据库,那么这将是一些操作,而不仅仅是读取那里的内容。

【讨论】:

    猜你喜欢
    • 2011-01-10
    • 2014-03-03
    • 1970-01-01
    • 2012-08-18
    • 2014-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多