210 lines
		
	
	
		
			6.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			210 lines
		
	
	
		
			6.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| --disable_query_log
 | |
| set @@session.explicit_defaults_for_timestamp=off;
 | |
| --enable_query_log
 | |
| # owner: yuchen.wyc
 | |
| # owner group: sql1
 | |
| # 测试delete stmt
 | |
| # tags: delete,dml
 | |
| 
 | |
| --disable_warnings
 | |
| drop table if exists t1, t_part, t_single;
 | |
| --enable_warnings
 | |
| --disable_warnings
 | |
| drop table if exists t2;
 | |
| --enable_warnings
 | |
| --disable_warnings
 | |
| drop table if exists t3;
 | |
| --enable_warnings
 | |
| --disable_warnings
 | |
| drop table if exists t4;
 | |
| --enable_warnings
 | |
| --result_format 4
 | |
| #--explain_protocol 2
 | |
| 
 | |
| #single column rowkey
 | |
| create table t1(a int primary key, b int);
 | |
| 
 | |
| insert into t1 values(1,0),(2,0),(3,0);
 | |
| delete from t1;
 | |
| select * from t1;
 | |
| 
 | |
| insert into t1 values(1,0),(2,0),(3,0);
 | |
| delete from t1 where a = 1;
 | |
| delete from t1 where a = 2;
 | |
| delete from t1 where a = 3;
 | |
| select * from t1;
 | |
| 
 | |
| insert into t1 values(1,0),(2,0),(3,0);
 | |
| delete from t1 where a=1;
 | |
| select * from t1;
 | |
| 
 | |
| insert into t1 values(1,0);
 | |
| replace into t1 values(2,0),(3,0);
 | |
| delete from t1 where a=1 or a=2 or a=3;
 | |
| select * from t1;
 | |
| 
 | |
| insert into t1 values(1,0),(2,0);
 | |
| delete from t1 where a=1;
 | |
| delete from t1 where a=2;
 | |
| delete from t1 where a=3;
 | |
| select * from t1;
 | |
| 
 | |
| drop table t1;
 | |
| 
 | |
| create table t_part (c1 bigint primary key, c2 bigint) partition by hash(c1) partitions 2;
 | |
| create table t_single(c1 int);
 | |
| insert into t_part(c1) values(1231346464513131);
 | |
| insert into t_part values(1, 2), (3, 1);
 | |
| insert into t_part values(2, 3), (4, 3);
 | |
| insert into t_part partition(p0, p1) values(5, 6);
 | |
| insert into t_part values('6', '6'), ('8', '8');
 | |
| delete from t_part where c1 in (select c1 from t_single);
 | |
| select * from t_part;
 | |
| drop table t_part, t_single;
 | |
| 
 | |
| # multi-column rowkey
 | |
| create table t2 (p1 int, p2 int, p3 int, p4 int, primary key(p1,p2,p3));
 | |
| 
 | |
| insert into t2 values(1,1,1,0),(2,2,2,0),(3,3,3,0),(4,4,4,0),(5,4,4,0),(6,4,4,0),(7,4,6,0),(8,4,6,0),(9,4,6,0),(10,4,6,0),(11,4,6,0),(12,4,6,0), (13,4,6,0);
 | |
| 
 | |
| delete from t2 where p1 = 1;
 | |
| 
 | |
| --disable_query_log
 | |
| --let $p=13
 | |
| while($p>1)
 | |
| {
 | |
|    eval delete from t2 where p1=$p and p2 = $p and p3=$p;
 | |
|    dec $p;
 | |
| }
 | |
| --enable_query_log
 | |
| 
 | |
| select * from t2;
 | |
| select p1,p3 from t2;
 | |
| 
 | |
| replace into t2 values(1,1,1,0),(2,2,2,0),(3,3,3,0),(4,4,4,0),(5,4,4,0),(6,4,4,0),(7,4,6,0),(8,4,6,0),(9,4,6,0),(10,4,6,0),(11,4,6,0),(12,4,6,0), (13,4,6,0);
 | |
| 
 | |
| delete from t2 where p1>3 or p3 >=6;
 | |
| select * from t2;
 | |
| select p1,p3 from t2;
 | |
| delete from t2 where p1=1 and p3 =2;
 | |
| select * from t2;
 | |
| select p1,p3 from t2;
 | |
| delete from t2 where p1=1 and p2 =1 and p3=1;
 | |
| select * from t2;
 | |
| select p1,p3 from t2;
 | |
| 
 | |
| replace into t2 values(1,1,1,0),(2,2,2,0),(3,3,3,0),(4,4,4,0),(5,4,4,0),(6,4,4,0),(7,4,6,0),(8,4,6,0),(9,4,6,0),(10,4,6,0),(11,4,6,0),(12,4,6,0), (13,4,6,0);
 | |
| 
 | |
| delete from t2 where p1 in (1,2,3,6,7,8,12,13,0);
 | |
| select * from t2;
 | |
| 
 | |
| drop table t2;
 | |
| 
 | |
| 
 | |
| # mix common column and rowkey column
 | |
| create table t3 (p1 int, p2 int, p3 int, primary key(p1,p2));
 | |
| 
 | |
| insert into t3 values(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,4,4),(6,4,4),(7,4,6),(8,4,6),(9,4,6),(10,4,6),(11,4,6),(12,4,6), (13,4,6);
 | |
| delete from t3 where p1=1 and p2=1 and p3=1;
 | |
| select * from t3;
 | |
| select p1,p3 from t3;
 | |
| 
 | |
| replace into t3 values(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,4,4),(6,4,4),(7,4,6),(8,4,6),(9,4,6),(10,4,6),(11,4,6),(12,4,6), (13,4,6);
 | |
| delete from t3 where p1>3 or p3 >=6;
 | |
| select * from t3;
 | |
| select p1,p3 from t3;
 | |
| 
 | |
| delete from t3 where p1=1 and p3 =2;
 | |
| select * from t3;
 | |
| select p1,p3 from t3;
 | |
| 
 | |
| replace into t3 values(1,1,1),(2,2,2);
 | |
| delete from t3 where p1=1 and p2 =1 and p3=1;
 | |
| select * from t3;
 | |
| select p1,p3 from t3;
 | |
| 
 | |
| replace into t3 values(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,4,4),(6,4,4),(7,4,6),(8,4,6),(9,4,6),(10,4,6),(11,4,6),(12,4,6),(13,4,6);
 | |
| delete from t3 where p1 in (1,2,3,6,7,8,12,13,0);
 | |
| select * from t3;
 | |
| 
 | |
| drop table t3;
 | |
| 
 | |
| # where clause
 | |
| create table t4 (p1 varchar(100), p2 int, p3 datetime(6), p4 int, primary key(p1,p2,p3));
 | |
| 
 | |
| insert into t4 values('a', 41, '2012-10-23 17:14:00',0), ('b', 42, '2012-10-23 17:15:00',0), ('c', 43, '2012-10-23 17:16:00',0);
 | |
| delete from t4 where p3='2012-10-23 17:14:00';
 | |
| select * from t4;
 | |
| 
 | |
| replace into t4 values('a', 41, '2012-10-23 17:14:00',0), ('b', 42, '2012-10-23 17:15:00',0), ('c', 43, '2012-10-23 17:16:00',0);
 | |
| delete from t4 where p2='42';
 | |
| select * from t4;
 | |
| 
 | |
| replace into t4 values('a', 41, '2012-10-23 17:14:00',0), ('b', 42, '2012-10-23 17:15:00',0), ('c', 43, '2012-10-23 17:16:00',0);
 | |
| delete from t4 where p2<'401' and p1='c';
 | |
| select * from t4;
 | |
| 
 | |
| delete from t4 where p1='a' and p2=41 and p3='2012-10-23 17:14:00';
 | |
| select * from t4;
 | |
| 
 | |
| drop table t4;
 | |
| 
 | |
| create table t2(c1 int primary key, c2 int, c3 int);
 | |
| create table t3 (c1 int, c2 int, c3 int);
 | |
| 
 | |
| insert into t2 values (1, 1, 1);
 | |
| insert into t2 values (2, 2, 2);
 | |
| insert into t2 values (3, 2, 3);
 | |
| insert into t2 values (4, 6, 4);
 | |
| insert into t2 values (5, 4, 3);
 | |
| insert into t2 values (6, 4, 2);
 | |
| insert into t3 values(2, 2, 2);
 | |
| insert into t3 values(3, 3, 3);
 | |
| insert into t3 values(4, 4, 4);
 | |
| insert into t3 values(5, 5, 5);
 | |
| 
 | |
| delete t3 from t3, t2 where t3.c1 = t2.c2;
 | |
| delete t3 from t3, t2 where t3.c1 = t2.c1;
 | |
| --error 1235
 | |
| delete t3, t33 from t3 left join t3 as t33 on t3.c1 = t33.c1;
 | |
| select * from t3;
 | |
| select * from t2;
 | |
| 
 | |
| drop table t2;
 | |
| drop table t3;
 | |
| 
 | |
| --disable_warnings
 | |
| drop table if exists dns_inner_resource_record_info;
 | |
| --enable_warnings
 | |
| 
 | |
| CREATE TABLE `dns_inner_resource_record_info`( 
 | |
|          `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', 
 | |
|          `owner` varchar(256) NOT NULL COMMENT '资源',
 | |
|          `cluster_name` varchar(20) NOT NULL COMMENT '所属集群 冗余字段', 
 | |
|          `zone_name` varchar(255) NOT NULL DEFAULT '' COMMENT 'ZONE NAME', 
 | |
|          `view_group_name` varchar(60) DEFAULT '' COMMENT 'VIEW GRP name', 
 | |
|          `domain_group_name` varchar(60) DEFAULT NULL COMMENT '域名组', 
 | |
|          `idc_id` varchar(20) DEFAULT NULL COMMENT 'IDC ID',
 | |
|          `rr_type` varchar(10) NOT NULL COMMENT '资源类型', 
 | |
|          `ttl` varchar(20) NOT NULL DEFAULT '' COMMENT 'TTL', 
 | |
|          `rr_class` varchar(12) NOT NULL DEFAULT '' COMMENT 'RECODR 类型', 
 | |
|          `data` varchar(500) NOT NULL COMMENT '数据', 
 | |
|          `status` varchar(10) DEFAULT NULL COMMENT '状态', 
 | |
|          `gmt_create` datetime NOT NULL COMMENT '创建时间', 
 | |
|          `gmt_modified` datetime DEFAULT NULL COMMENT '修改时间',
 | |
|          PRIMARY KEY (`id`),
 | |
|          KEY `rrdata` (`data`(383)) BLOCK_SIZE 16384 GLOBAL,
 | |
|          KEY `rrtype` (`rr_type`) BLOCK_SIZE 16384 GLOBAL,
 | |
|          KEY `owner` (`owner`) BLOCK_SIZE 16384 GLOBAL,
 | |
|          KEY `cluster` (`cluster_name`) BLOCK_SIZE 16384 GLOBAL,
 | |
|          KEY `zonename` (`zone_name`) BLOCK_SIZE 16384 GLOBAL,
 | |
|          KEY `viewgroupname` (`view_group_name`) BLOCK_SIZE 16384 GLOBAL,
 | |
|          KEY `domain_group_name` (`domain_group_name`) BLOCK_SIZE 16384 GLOBAL,
 | |
|          KEY `idc_id` (`idc_id`) BLOCK_SIZE 16384 GLOBAL
 | |
|          ) COMMENT = 'dns 内网集群资源记录表';
 | |
| delete from dns_inner_resource_record_info WHERE cluster_name = "1";
 | |
| set binlog_row_image='MINIMAL';
 | |
| delete from dns_inner_resource_record_info WHERE cluster_name = "1";
 | |
| drop table dns_inner_resource_record_info;
 | |
| 
 | 
