navicat导入sql文件导入成功却没有导入

哎,这个Navicat导入SQL文件总是显示成功却没有数据,真是烦人。
上周有位顾客问我。
我自己也曾踏入陷阱。
我给你可能的原因和解决方案:
1 SQL文件本身写得不正确。
这是最常见的情况。
想一想,这个文件有没有语法错误?例如,关键字拼写错误(例如,INSTEAD 写成 INSTEAD),或者括号搞乱?也有可能是输入的数据类型与字段限制不匹配,例如在INT类型的字段中输入了太长的字符串。
Navicat 可能会愚蠢地发出“操作成功”的信号,但实际上并没有做任何事情。
如何修复它?在 SQL 文件中复制一两个简单的 INSERT 语句并仅在 Navicat 中运行。
如果报错,需要返回修改SQL文件,修改完成后再导入。

2 被事务回滚 Navicat 默认可以使用事务导入。
如果即使有一条语句执行失败(例如,违反了唯一约束,或者与外键关联的表不存在),则必须删除整个数据集。
这也会导致“成功”的错觉。
如何修复它?首先看一下Navicat导入日志,肯定有提示。
您可以尝试批量导入,比如先导入1 00条数据看看是否有效。
或者只是暂时更改 Navicat 设置并关闭事务(但您必须首先验证您使用的数据库是否支持它)。
关闭交易并再次尝试查看交易是否仍被撤回。

3 字符集不匹配 最烦人但又常见的陷阱。
例如,如果导出的文件使用UTF8 编码,但目标数据库连接的字符集是latin1 ,则导入后数据会出现乱码,但你不会注意到。
如何修复它?首先检查Navicat扩展中的字符集设置是否正确(例如使用utf8 mb4 )。
然后用记事本(或者像Notepad++这样能看清楚编码的东西)打开SQL文件,看看是否是UTF-8 无BOM编码。
否则,先转换编码再导入。

4 表结构不兼容 例如,如果您导入的数据中的一条记录有重复的主键,或者与外键关联的表根本不存在,数据库将直接拒绝写入。
Navicat 可能会骗你并说“成功”。
如何修复它?首先比较源表和目标表的结构。
字段类型、索引和约束必须匹配。
如果这不起作用,您可以先清除目标表或暂时更改约束,然后在导入后更改回来。
MySQL 还有 INSERT IGNORE 可以忽略错误行。
你也可以试试这个。

5 引号过多 有些工具导出SQL时,会在表名和字段名两边加上双引号(如“table_name”),但有些数据库(尤其是MySQL)可能不支持这种写法。
如何修复它?使用文本编辑器打开 SQL 文件并删除所有双引号,或用反引号替换它们(MySQL 使用此)。
导入前记得保存。

6 文件名和表名错误 如果 SQL 文件包含建表语句,但文件名与您创建的表的名称不同,Navicat 可能已将其导入到另一个表中,或者它可能根本无法进口。
如何修复它?确保 SQL 文件的名称与要导入的表的名称匹配。
或者检查 Navicat 是否有在导入时手动选择目标表的选项​​。
导入后,记得刷新数据库视图,看看数据是否在你想要的表中。

最后几句话: 首先检查 Navicat 日志,那里会有错误消息。
如果问题比较复杂很难解决,可以尝试从命令行(比如MySQL命令行)导入,这样有时可以绕过图形界面的一些bug。
导入前记得备份数据库,这样数据丢失了你就无处可哭。

试试这个方法。
如果您仍然遇到问题,请告诉我哪一步卡住了,我会帮您分析。

mybatis显示插入成功但数据库中没数据

插入成功但数据库中没有数据?这很常见。
1 . 交易未提交! 应当进行补充、删除和修改。
没有承诺,当然他也没有到达数据库。
在测试期间亲自检查提交。
您还可以设置自动发送。
2 .配置文件问题。
mybatis-config.xml 是正确的。
JDBC配置不能错。
映射文件应该引入该对。
数据来源信息不能有错。
URL、用户名、密码,一个都不能错过。
3 、SQL语句问题。
SQL 是正确的!表的结构应该类似。
Map 和 XML 密切相关。
不要写出错误的 SQL。

首先确保没有提交。
确保配置正确。
最后看看SQL是否有效。

看看你自己。

sql添加成功但是数据库没有

添加但没有数据?首先检查连接。

主机名是否正确?端口正确吗?用户名和密码是否正确?全部确认。

问句正确吗?正确添加数据后语句是否执行?再次确认。

数据类型是否正确?字段匹配吗?值的格式是否正确?把它们全部检查出来。
什么是 SQLite?使用相同的连接进行插入和查询。
不要切换连接。
Navicat 如何引导 SQL?文件错误?软件设置有问题?检查文档。

自己掂量一下。