当前位置:首页>

文章列表

>

MySQL

MySQL外键约束无法删除整表数据

在MySQL中清空表数据时,报如下错误 Cannot truncate a table referenced in a foreign key constraint ... 原因是MySQL中设置了foreign key关联,造成无法删除数据。可以通过设置FOREIGN_KEY_CHECKS变量的值来避免这种情况。 解决方法:     SET FOREIGN_KEY_CHECKS=0; #禁用外键约束     truncate tb; #执行sql语句     SET FOREIGN_KEY_CHECKS=1; #启动外键约束     SELECT @@FOREIGN_KEY_CHECKS; #查看当前FOREIGN_KEY_

陈承阳时间:2018-02-28 20:13:42 分类:MySQL阅读全文

SQLServer数据实时同步到MySQL

目录 1.在SQLServer服务器上安装配置mysqlconnector 2.新建链接服务器 3.sqlserver和mysql新建库和表 4.建立回环 5.编写触发器和存储过程(sqlserver) 6.测试 1.在SQLServer服务器上安装配置mysqlconnector http://www.mysql.com/products/connector/ ODBC数据管理器->系统DSN->添加->mysql ODBC 5.3 ANSI driver->填入data source name 如 mysql ,mysql的ip、用户名、密码即可 ---2.新建链接服务器 exec sp_addlinkedserver @server='mysql', --ODBC里面data source nam

陈承阳时间:2018-02-26 19:24:47 分类:MySQL阅读全文

局域网连接MySQL服务器报错1130

报错信息:1130-host ... is not allowed to connect to this MySql server ========== 解决办法(根据需求选择以下三种场景) ==== myuser使用mypassword从任何主机连接到mysql服务器 GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; FLUSH PRIVILEGES; ==== 允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码 GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypass

陈承阳时间:2018-02-26 19:21:30 分类:MySQL阅读全文

PDO防sql注入的原理

MySQL pdo预处理能防止sql注入的原因:     $pdo->prepare('select * from biao1 where id=:id');//服务器发送一条sql给mysql服务器,mysql服务器会解析这条sql     $pdo->execute([':id'=>4]);//服务器发送一条sql,mysql服务器不会解析这条sql,只会把execute的参数当做纯参数赋值给语句一 区别:     普通的sql,直接一条sql语句执行,web服务器自己拼凑sql的时候有可能会把危险的sql语句拼凑进去     PDO的sql,让mysql服务器自己拼凑,就算有危险的语句

陈承阳时间:2018-02-09 11:15:20 分类:MySQL阅读全文

MySQL开启慢查询

查看慢查日志是否开启: -> show variables like '%slow%'; -> show variables like '%log_queries%'; log_queries_not_using_indexes      OFF #是否将没有使用索引的sql,记录进慢查日志中 slow_query_log          OFF #慢查日志是否开启 slow_query_log_file      /var/lib/mysql/mysql-slow.log #查看慢查日志的存储位置 long_query_time 10.000000  #查看超过多长时间的sql会被记录进入慢查日志中

陈承阳时间:2018-01-03 20:44:55 分类:MySQL阅读全文

MySQL中的int(1)和tinyint(1)

问题:int(1) 和 tinyint(1) 有什么区别呢? `flag` int(1) NOT NULL DEFAULT '0' , `flag` tinyint(1) NOT NULL DEFAULT '0', 扩展知识点: - int(1) 和 tinyint(1) int类型占4个字节,tinyint占1个字节。  smallint 两个字节,MEDIUMINT 三个字节 - int(1) 和 int(4) 所占的存储空间都是一样,它存储的范围始终是 -2^31 到 2^31 - 1 - int(1) 和 int(4) 列制定了zerofill 就会用0填充显示,int(1)显示为1;int(4)显示为0001; - int(1) 和 int(4) 后面括号中的数字,表示数字的显示宽度,不表示长度 - varchar(32

陈承阳时间:2017-12-27 21:12:04 分类:MySQL阅读全文

MySQL分区分表

========== 水平分区(根据列属性按行分) 举个简单例子:一个包含十年发票记录的表可以被分区为十个不同的分区,每个分区包含的是其中一年的记录。 ==== 水平分区的几种模式 - Range(范围) – 这种模式允许DBA将数据划分不同范围。例如DBA可以将一个表通过年份划分成三个分区,80年代(1980's)的数据,90年代(1990's)的数据以及任何在2000年(包括2000年)后的数据。 - Hash(哈希) – 这中模式允许DBA通过对表的一个或多个列的Hash Key进行计算,最后通过这个Hash码不同数值对应的数据区域进行分区,。例如DBA可以建立一个对表主键进行分区的表。 - Key(键值) – 上面Hash模式的一种延伸,这里的Hash Key是MySQL系统产生的。 - List(预定义列表) – 这种模式允许系统通过

陈承阳时间:2017-12-26 19:35:07 分类:MySQL阅读全文

MySQL复制

========== MySQL 支持两种复制方式:     基于行的复制     基于语句的复制 ========== 复制解决的问题:     数据分布(如不同的地理位置)     负载均衡(将读操作分布到多个服务器上,实现对读密集型应用的优化)     备份(复制是对备份的技术补充)     高可用性和故障切换(可以避免MySQL单点失败)     MySQL升级测试 ========== 复制机制 1、在主库上把数据更改记录存到二进制日志(Binary Log)中 2、备库将主库上的日志复制到自己的中继日志(Relay Log)中 3、

陈承阳时间:2017-12-24 23:19:03 分类:MySQL阅读全文

MySQL索引语句

#建表时添加 CREATE TABLE `member` (   `id` int(11) unsigned NOT NULL AUTO_INCREMENT,   `code` varchar(32) NOT NULL,   `name` varchar(32) NOT NULL,   PRIMARY KEY (`shop_id`),   KEY `codename` (`code,name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; #建表后添加 alter table member add index codename(`code,name`); alter table member add unique (`id`) ; alter table member add p

陈承阳时间:2017-12-12 22:51:14 分类:MySQL阅读全文

MySQL-约束(Constraint)

目录 列约束 表约束 timestamp 约束 FOREIGN KEY 外键约束 逻辑外键 约束(Constraint) ==== 约束种类     NOT NULL  不能为空     DEFAULT    默认值     [PRIMARY] KEY 主键     UNIQUE [KEY]  唯一性     FOREIGN KEY 外键     timestamp 约束 ==== 约束格式 列约束:写字段后的约束,对一个字段的约束     说明: NOT NULL,和D

陈承阳时间:2017-12-09 17:34:11 分类:MySQL阅读全文


选择页面: