Fork me on GitHub

Mysql导入数据

导入sql文件

先看下导入的SQL文件中有没有drop database或者drop table字样,这个要小心。

方案一:GUI工具直接导入

SET foreign_key_checks = 0;  -- 禁用外键,在文件顶部加
-- sql语句
SET foreign_key_checks = 1;   -- 恢复外键,在文件底部加

当外键约束导致插入失败时ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint fails.需要设置set foreign_key_checks =0;

方案二:适合大文件

mysql -h 服务器ip -P 3306 -u root -p    -- 连接mysql,不直接指定密码为了安全考虑,这里写密码是明文
show databases;   -- 查看所有数据库
use db;   -- 选择数据库
source d:/data.sql;   -- 导入数据文件

当数据中心包含中文时,中文

ERROR 1366 (HY000): Incorrect string value: '\xC1\xBA' for column 'leavingOperatorName' at row 1

show create table tblName;    -- 查看创建数据表时的语句指定的存储引擎及编码格式
status;  -- 查看数据库的状态信息
show full columns from tablename;  -- 查看表的列的属性

如果是lant改变列编码为utf-8

alter table tablename change columnsname columnsname varchar(255) 
character set utf8 collate utf8_unicode_ci not null default ''; 

如果上面都没有问题,source之后依然报这个错,那可能是导出的txt文件编码格式的问题。用ultraedit打开,改为UTF-8即可。

 

posted @ 2018-07-27 11:33  秋夜雨巷  阅读(462)  评论(0编辑  收藏  举报