zoukankan      html  css  js  c++  java
  • MySQL导数据笔记

    2019-12-16 9:08:43 星期一

    MySQL 5.6 limit / order 有bug

    如果主键不是自增的, 只能全表导出导入, 分批导出再导入的话会报主键重复

    触发器:

    批量导入数据时, 要关闭触发器 (5.6版本不会为每条数据执行一次触发器, 而是很多条记录执行一次触发器)

    SELECT * FROM information_schema.`TRIGGERS`;
    show create trigger 触发器名;
    drop trigger 触发器名;

    外键 (导数据表时会检测外键依赖): 

    禁用外键约束.: SET FOREIGN_KEY_CHECKS=0;

    启动外键约束: SET FOREIGN_KEY_CHECKS=1;

    数据包限制(导数据时, MySQL限制插入和导出的数据量, 如果设置的太小就会报 mysql has gone away):

    show global variables like 'max_allowed_packet';

    set global max_allowed_packet = 2* 1024 * 1024 * 1024

    如果设置不成功, 而且数据量不是特别大的话, 可以一次性把数据都读出来, 然后用类似PHP的array_splice()方法分批查入到新的表中

    修改表结构:

    在数据量大的表中修改表结构, 不要加 after cloumnxxx;

    insert 返回值:

    当表的主键字段不是自增的时候,添加一条数据返回的最后插入字段的id的值就是0,但并不表示其插入错误或没有插入成功

     字符集

    alter table xxxdefault charset=utf8;

    alter database xxx character set utf8 COLLATE utf8_general_ci;

    show variables like '%char%';

  • 相关阅读:
    Hadoop学习之安装HDFS
    常见的6种数据结构
    maven 编译出错 Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean
    jquery解决js对象、数组赋值时的引用传递
    405 method not allowed(方法不被允许)
    身份证件号 正确性检查方法
    svn 提交信息模板
    idea 使用说明
    java-System类
    java-Integer 类
  • 原文地址:https://www.cnblogs.com/iLoveMyD/p/12047391.html
Copyright © 2011-2022 走看看