执行mysqldump时陷入循环

bvpmtnay  于 2021-06-15  发布在  Mysql
关注(0)|答案(0)|浏览(227)

我有一个数据库(不是我自己),有大约140000张图片,只有一些(大约3500张)需要保存。我正试图用mysqldump来实现这一点,但不知何故,我似乎陷入了一个循环中。即使执行此过程时要保存的图像超过10个,sql转储文件的大小也会无限增长。
这是一个名为images的数据库表。

CREATE TABLE `images` (
    `imageID` INT(11) NOT NULL AUTO_INCREMENT,
    `runID_fk` INT(11) NULL DEFAULT NULL,
    `sequenceID_fk` INT(11) NULL DEFAULT NULL,
    `cameraID_fk` INT(11) NULL DEFAULT NULL,
    `data` LONGBLOB NULL,
    `timestamp` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
    `name` TEXT NULL,
    `type` TEXT NULL,
    `pcadata` LONGBLOB NULL,
    PRIMARY KEY (`imageID`)
)
COLLATE='latin1_swedish_ci'
ENGINE=InnoDB

如果 type 设置为 perm ,则要保存图像。这是我的mysqldump命令:

mysqldump -u root --verbose -p (database name) images --where="imageID IN (SELECT imageID WHERE type='perm' AND imageID BETWEEN (some number) and (some number))">\location\backup.sql

这个命令可能有什么问题?
编辑:如果我将命令更新为

mysqldump -u root --single-transaction=true --verbose -p (database name) images --where="imageID IN (SELECT imageID FROM images WHERE type='perm' AND imageID BETWEEN (some number) and (some number))">\location\backup.sql

然后事情看起来很好。我基本上在内部查询中添加了“from images”,并在 mysqldump 选项。但我还是想知道第一个命令导致不确定循环的原因。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题