Navicat Cloud回收站仅保存启用并同步过的查询脚本;未同步的本地脚本删除后不会出现,还原需在Cloud→查询→回收站中右键目标脚本选择“还原”,且只恢复SQL文本,不保留执行上下文。
Navicat Cloud 回收站里真有你删的查询脚本吗
只有启用并同步过 navicat cloud 的查询脚本,才会进回收站;本地新建但从未点击「同步到云」的脚本,删除后不会出现在 cloud 回收站里。确认方式很简单:打开 navicat,左下角点 navicat cloud 图标 → 点击「查询」分类 → 再点顶部「回收站」标签页。如果列表为空,说明该脚本没上过云,这条路走不通。
怎么从 Cloud 回收站还原单个查询脚本
还原操作本身很轻量,但必须在正确位置触发:
- 在
Navicat Cloud → 查询 → 回收站页面,找到目标脚本(注意看删除时间和所属连接) - 右键点击脚本名称,选
还原—— 不是拖拽,不是双击,不是点「恢复全部」 - 还原后脚本默认回到原数据库连接下的「查询」节点,不会自动打开,需手动双击运行
- 如果还原后提示「连接已断开」或「数据库不存在」,说明原连接配置已被修改或删除,得先修复连接再执行脚本
为什么还原后脚本执行报错“表不存在”或“列名无效”
Cloud 回收站只存 SQL 文本,不存执行上下文。常见坑点:
-
USE database_name;这类语句在还原后可能失效——因为当前连接指向的是别的库,得手动切换连接或显式加库前缀 - 脚本里用了临时表(
CREATE TEMPORARY TABLE)、用户变量(@var := 1)或会话级设置(SET sql_mode=...),这些在新会话中不继承,需补全或重写 - 同事删脚本前刚改过表结构,而你还原的是旧版本脚本,字段名或类型已不匹配
没有开启 Navicat Cloud 怎么办
本地没同步,Cloud 就没有备份,回收站是空的。这时候别翻 Cloud,立刻做三件事:
- 检查 Windows 或 macOS 的系统回收站,看
.sql文件是否还在(Navicat 有时会把导出/保存的脚本直接扔进系统回收站) - 用
Ctrl+Shift+Z(Windows)或Cmd+Shift+Z(macOS)试试「重做」——仅限刚删、还没关 Tab、且没进行其他编辑操作时有效 - 查本地历史记录:
~/.navicat8/queries/(macOS)或%APPDATA%\PremiumSoft\Navicat8\queries\(Windows)目录下可能残留未清理的 JSON 或加密缓存,但无法直接读取,需联系 PremiumSoft 支持导出
Cloud 回收站不是万能保险箱,它只管“同步过的脚本”,不管“你心里以为它该在那儿”。最稳妥的做法,是把高频用的查询脚本单独存为本地 .sql 文件,并纳入 Git 管理——毕竟,人会误点,但 Git commit 记录不会自己消失。











