bdb.result
上传用户:romrleung
上传日期:2022-05-23
资源大小:18897k
文件大小:34k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. drop table if exists t1,t2,t3,t4,t5,t6,t7,t8;
  2. create table t1 (id int unsigned not null auto_increment, code tinyint unsigned not null, name char(20) not null, primary key (id), key (code), unique (name)) engine=bdb;
  3. insert into t1 (code, name) values (1, 'Tim'), (1, 'Monty'), (2, 'David'), (2, 'Erik'), (3, 'Sasha'), (3, 'Jeremy'), (4, 'Matt');
  4. select id, code, name from t1 order by id;
  5. id code name
  6. 1 1 Tim
  7. 2 1 Monty
  8. 3 2 David
  9. 4 2 Erik
  10. 5 3 Sasha
  11. 6 3 Jeremy
  12. 7 4 Matt
  13. update ignore t1 set id = 8, name = 'Sinisa' where id < 3;
  14. select id, code, name from t1 order by id;
  15. id code name
  16. 2 1 Monty
  17. 3 2 David
  18. 4 2 Erik
  19. 5 3 Sasha
  20. 6 3 Jeremy
  21. 7 4 Matt
  22. 8 1 Sinisa
  23. update ignore t1 set id = id + 10, name = 'Ralph' where id < 4;
  24. select id, code, name from t1 order by id;
  25. id code name
  26. 3 2 David
  27. 4 2 Erik
  28. 5 3 Sasha
  29. 6 3 Jeremy
  30. 7 4 Matt
  31. 8 1 Sinisa
  32. 12 1 Ralph
  33. drop table t1;
  34. CREATE TABLE t1 (
  35. id int(11) NOT NULL auto_increment,
  36. parent_id int(11) DEFAULT '0' NOT NULL,
  37. level tinyint(4) DEFAULT '0' NOT NULL,
  38. PRIMARY KEY (id),
  39. KEY parent_id (parent_id),
  40. KEY level (level)
  41. ) engine=bdb;
  42. INSERT INTO t1 VALUES (1,0,0),(3,1,1),(4,1,1),(8,2,2),(9,2,2),(17,3,2),(22,4,2),(24,4,2),(28,5,2),(29,5,2),(30,5,2),(31,6,2),(32,6,2),(33,6,2),(203,7,2),(202,7,2),(20,3,2),(157,0,0),(193,5,2),(40,7,2),(2,1,1),(15,2,2),(6,1,1),(34,6,2),(35,6,2),(16,3,2),(7,1,1),(36,7,2),(18,3,2),(26,5,2),(27,5,2),(183,4,2),(38,7,2),(25,5,2),(37,7,2),(21,4,2),(19,3,2),(5,1,1),(179,5,2);
  43. update t1 set parent_id=parent_id+100;
  44. select * from t1 where parent_id=102;
  45. id parent_id level
  46. 8 102 2
  47. 9 102 2
  48. 15 102 2
  49. update t1 set id=id+1000;
  50. update t1 set id=1024 where id=1009;
  51. ERROR 23000: Duplicate entry '1024' for key 1
  52. select * from t1;
  53. id parent_id level
  54. 1001 100 0
  55. 1002 101 1
  56. 1003 101 1
  57. 1004 101 1
  58. 1005 101 1
  59. 1006 101 1
  60. 1007 101 1
  61. 1008 102 2
  62. 1009 102 2
  63. 1015 102 2
  64. 1016 103 2
  65. 1017 103 2
  66. 1018 103 2
  67. 1019 103 2
  68. 1020 103 2
  69. 1021 104 2
  70. 1022 104 2
  71. 1024 104 2
  72. 1025 105 2
  73. 1026 105 2
  74. 1027 105 2
  75. 1028 105 2
  76. 1029 105 2
  77. 1030 105 2
  78. 1031 106 2
  79. 1032 106 2
  80. 1033 106 2
  81. 1034 106 2
  82. 1035 106 2
  83. 1036 107 2
  84. 1037 107 2
  85. 1038 107 2
  86. 1040 107 2
  87. 1157 100 0
  88. 1179 105 2
  89. 1183 104 2
  90. 1193 105 2
  91. 1202 107 2
  92. 1203 107 2
  93. update ignore t1 set id=id+1;
  94. select * from t1;
  95. id parent_id level
  96. 1001 100 0
  97. 1002 101 1
  98. 1003 101 1
  99. 1004 101 1
  100. 1005 101 1
  101. 1006 101 1
  102. 1007 101 1
  103. 1008 102 2
  104. 1010 102 2
  105. 1015 102 2
  106. 1016 103 2
  107. 1017 103 2
  108. 1018 103 2
  109. 1019 103 2
  110. 1020 103 2
  111. 1021 104 2
  112. 1023 104 2
  113. 1024 104 2
  114. 1025 105 2
  115. 1026 105 2
  116. 1027 105 2
  117. 1028 105 2
  118. 1029 105 2
  119. 1030 105 2
  120. 1031 106 2
  121. 1032 106 2
  122. 1033 106 2
  123. 1034 106 2
  124. 1035 106 2
  125. 1036 107 2
  126. 1037 107 2
  127. 1039 107 2
  128. 1041 107 2
  129. 1158 100 0
  130. 1180 105 2
  131. 1184 104 2
  132. 1194 105 2
  133. 1202 107 2
  134. 1204 107 2
  135. update ignore t1 set id=1023 where id=1010;
  136. select * from t1 where parent_id=102 order by parent_id,id;
  137. id parent_id level
  138. 1008 102 2
  139. 1010 102 2
  140. 1015 102 2
  141. explain select level from t1 where level=1;
  142. id select_type table type possible_keys key key_len ref rows Extra
  143. 1 SIMPLE t1 ref level level 1 const 1 Using where; Using index
  144. explain select level,id from t1 where level=1;
  145. id select_type table type possible_keys key key_len ref rows Extra
  146. 1 SIMPLE t1 ref level level 1 const 1 Using where; Using index
  147. explain select level,id,parent_id from t1 where level=1;
  148. id select_type table type possible_keys key key_len ref rows Extra
  149. 1 SIMPLE t1 ref level level 1 const 1 Using where
  150. select level,id from t1 where level=1;
  151. level id
  152. 1 1002
  153. 1 1003
  154. 1 1004
  155. 1 1005
  156. 1 1006
  157. 1 1007
  158. select level,id,parent_id from t1 where level=1;
  159. level id parent_id
  160. 1 1002 101
  161. 1 1003 101
  162. 1 1004 101
  163. 1 1005 101
  164. 1 1006 101
  165. 1 1007 101
  166. optimize table t1;
  167. Table Op Msg_type Msg_text
  168. test.t1 optimize status OK
  169. show keys from t1;
  170. Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
  171. t1 0 PRIMARY 1 id A 39 NULL NULL BTREE
  172. t1 1 parent_id 1 parent_id A 9 NULL NULL BTREE
  173. t1 1 level 1 level A 3 NULL NULL BTREE
  174. drop table t1;
  175. CREATE TABLE t1 (
  176. gesuchnr int(11) DEFAULT '0' NOT NULL,
  177. benutzer_id int(11) DEFAULT '0' NOT NULL,
  178. PRIMARY KEY (gesuchnr,benutzer_id)
  179. ) engine=BDB;
  180. replace into t1 (gesuchnr,benutzer_id) values (2,1);
  181. replace into t1 (gesuchnr,benutzer_id) values (1,1);
  182. replace into t1 (gesuchnr,benutzer_id) values (1,1);
  183. select * from t1;
  184. gesuchnr benutzer_id
  185. 1 1
  186. 2 1
  187. drop table t1;
  188. create table t1 (id int not null primary key, x int not null, key (x)) engine=bdb;
  189. insert into t1 (id, x) values (1, 1);
  190. replace into t1 (id, x) values (1, 2);
  191. select * from t1;
  192. id x
  193. 1 2
  194. drop table t1;
  195. create table t1 (a int) engine=bdb;
  196. insert into t1 values (1), (2);
  197. optimize table t1;
  198. Table Op Msg_type Msg_text
  199. test.t1 optimize status OK
  200. delete from t1 where a = 1;
  201. select * from t1;
  202. a
  203. 2
  204. check table t1;
  205. Table Op Msg_type Msg_text
  206. test.t1 check note The storage engine for the table doesn't support check
  207. drop table t1;
  208. create table t1 (a int,b varchar(20)) engine=bdb;
  209. insert into t1 values (1,""), (2,"testing");
  210. delete from t1 where a = 1;
  211. select * from t1;
  212. a b
  213. 2 testing
  214. create index skr on t1 (a);
  215. insert into t1 values (3,""), (4,"testing");
  216. analyze table t1;
  217. Table Op Msg_type Msg_text
  218. test.t1 analyze status OK
  219. show keys from t1;
  220. Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
  221. t1 1 skr 1 a A 3 NULL NULL YES BTREE
  222. drop table t1;
  223. create table t1 (a int,b varchar(20),key(a)) engine=bdb;
  224. insert into t1 values (1,""), (2,"testing");
  225. select * from t1 where a = 1;
  226. a b
  227. 1
  228. drop table t1;
  229. create table t1 (a char(10) not null, b int not null auto_increment, primary key(a,b)) engine=BDB;
  230. insert into t1 values ("a",1),("b",2),("a",2),("c",1);
  231. insert into t1 values ("a",NULL),("b",NULL),("c",NULL),("e",NULL);
  232. insert into t1 (a) values ("a"),("b"),("c"),("d");
  233. insert into t1 (a) values ('k'),('d');
  234. insert into t1 (a) values ("a");
  235. insert into t1 values ("d",last_insert_id());
  236. select * from t1;
  237. a b
  238. a 1
  239. a 2
  240. a 3
  241. a 4
  242. a 5
  243. b 2
  244. b 3
  245. b 4
  246. c 1
  247. c 2
  248. c 3
  249. d 1
  250. d 2
  251. d 5
  252. e 1
  253. k 1
  254. flush tables;
  255. select count(*) from t1;
  256. count(*)
  257. 16
  258. drop table t1;
  259. create table t1 (n int not null primary key) engine=bdb;
  260. set autocommit=0;
  261. insert into t1 values (4);
  262. rollback;
  263. select n, "after rollback" from t1;
  264. n after rollback
  265. insert into t1 values (4);
  266. commit;
  267. select n, "after commit" from t1;
  268. n after commit
  269. 4 after commit
  270. commit;
  271. insert into t1 values (5);
  272. insert into t1 values (4);
  273. ERROR 23000: Duplicate entry '4' for key 1
  274. commit;
  275. select n, "after commit" from t1;
  276. n after commit
  277. 4 after commit
  278. 5 after commit
  279. set autocommit=1;
  280. insert into t1 values (6);
  281. insert into t1 values (4);
  282. ERROR 23000: Duplicate entry '4' for key 1
  283. select n from t1;
  284. n
  285. 4
  286. 5
  287. 6
  288. rollback;
  289. drop table t1;
  290. create table t1 ( id int NOT NULL PRIMARY KEY, nom varchar(64)) engine=BDB;
  291. begin;
  292. insert into t1 values(1,'hamdouni');
  293. select id as afterbegin_id,nom as afterbegin_nom from t1;
  294. afterbegin_id afterbegin_nom
  295. 1 hamdouni
  296. rollback;
  297. select id as afterrollback_id,nom as afterrollback_nom from t1;
  298. afterrollback_id afterrollback_nom
  299. set autocommit=0;
  300. insert into t1 values(2,'mysql');
  301. select id as afterautocommit0_id,nom as afterautocommit0_nom from t1;
  302. afterautocommit0_id afterautocommit0_nom
  303. 2 mysql
  304. rollback;
  305. select id as afterrollback_id,nom as afterrollback_nom from t1;
  306. afterrollback_id afterrollback_nom
  307. set autocommit=1;
  308. drop table t1;
  309. CREATE TABLE t1 (id char(8) not null primary key, val int not null) engine=bdb;
  310. insert into t1 values ('pippo', 12);
  311. insert into t1 values ('pippo', 12);
  312. ERROR 23000: Duplicate entry 'pippo' for key 1
  313. delete from t1;
  314. delete from t1 where id = 'pippo';
  315. select * from t1;
  316. id val
  317. insert into t1 values ('pippo', 12);
  318. set autocommit=0;
  319. delete from t1;
  320. rollback;
  321. select * from t1;
  322. id val
  323. pippo 12
  324. delete from t1;
  325. commit;
  326. select * from t1;
  327. id val
  328. drop table t1;
  329. set autocommit=1;
  330. CREATE TABLE t1 (ID INTEGER NOT NULL PRIMARY KEY, NAME VARCHAR(64)) ENGINE=BDB;
  331. INSERT INTO t1 VALUES (1, 'Jochen');
  332. select * from t1;
  333. ID NAME
  334. 1 Jochen
  335. drop table t1;
  336. CREATE TABLE t1 ( _userid VARCHAR(60) NOT NULL PRIMARY KEY) ENGINE=BDB;
  337. set autocommit=0;
  338. INSERT INTO t1  SET _userid='marc@anyware.co.uk';
  339. COMMIT;
  340. SELECT * FROM t1;
  341. _userid
  342. marc@anyware.co.uk
  343. SELECT _userid FROM t1 WHERE _userid='marc@anyware.co.uk';
  344. _userid
  345. marc@anyware.co.uk
  346. drop table t1;
  347. set autocommit=1;
  348. CREATE TABLE t1 (
  349. user_id int(10) DEFAULT '0' NOT NULL,
  350. name varchar(100),
  351. phone varchar(100),
  352. ref_email varchar(100) DEFAULT '' NOT NULL,
  353. detail varchar(200),
  354. PRIMARY KEY (user_id,ref_email)
  355. )engine=bdb;
  356. INSERT INTO t1 VALUES (10292,'sanjeev','29153373','sansh777@hotmail.com','xxx'),(10292,'shirish','2333604','shirish@yahoo.com','ddsds'),(10292,'sonali','323232','sonali@bolly.com','filmstar');
  357. select * from t1 where user_id=10292;
  358. user_id name phone ref_email detail
  359. 10292 sanjeev 29153373 sansh777@hotmail.com xxx
  360. 10292 shirish 2333604 shirish@yahoo.com ddsds
  361. 10292 sonali 323232 sonali@bolly.com filmstar
  362. INSERT INTO t1 VALUES (10291,'sanjeev','29153373','sansh777@hotmail.com','xxx'),(10293,'shirish','2333604','shirish@yahoo.com','ddsds');
  363. select * from t1 where user_id=10292;
  364. user_id name phone ref_email detail
  365. 10292 sanjeev 29153373 sansh777@hotmail.com xxx
  366. 10292 shirish 2333604 shirish@yahoo.com ddsds
  367. 10292 sonali 323232 sonali@bolly.com filmstar
  368. select * from t1 where user_id>=10292;
  369. user_id name phone ref_email detail
  370. 10292 sanjeev 29153373 sansh777@hotmail.com xxx
  371. 10292 shirish 2333604 shirish@yahoo.com ddsds
  372. 10292 sonali 323232 sonali@bolly.com filmstar
  373. 10293 shirish 2333604 shirish@yahoo.com ddsds
  374. select * from t1 where user_id>10292;
  375. user_id name phone ref_email detail
  376. 10293 shirish 2333604 shirish@yahoo.com ddsds
  377. select * from t1 where user_id<10292;
  378. user_id name phone ref_email detail
  379. 10291 sanjeev 29153373 sansh777@hotmail.com xxx
  380. drop table t1;
  381. CREATE TABLE t1 (a int not null, b int not null,c int not null,
  382. key(a),primary key(a,b), unique(c),key(a),unique(b));
  383. show index from t1;
  384. Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
  385. t1 0 PRIMARY 1 a A NULL NULL NULL BTREE
  386. t1 0 PRIMARY 2 b A 0 NULL NULL BTREE
  387. t1 0 c 1 c A 0 NULL NULL BTREE
  388. t1 0 b 1 b A 0 NULL NULL BTREE
  389. t1 1 a 1 a A NULL NULL NULL BTREE
  390. t1 1 a_2 1 a A NULL NULL NULL BTREE
  391. drop table t1;
  392. create table t1 (col1 int not null, col2 char(4) not null, primary key(col1));
  393. alter table t1 engine=BDB;
  394. insert into t1 values ('1','1'),('5','2'),('2','3'),('3','4'),('4','4');
  395. select * from t1;
  396. col1 col2
  397. 1 1
  398. 2 3
  399. 3 4
  400. 4 4
  401. 5 2
  402. update t1 set col2='7' where col1='4';
  403. select * from t1;
  404. col1 col2
  405. 1 1
  406. 2 3
  407. 3 4
  408. 4 7
  409. 5 2
  410. alter table t1 add co3 int not null;
  411. select * from t1;
  412. col1 col2 co3
  413. 1 1 0
  414. 2 3 0
  415. 3 4 0
  416. 4 7 0
  417. 5 2 0
  418. update t1 set col2='9' where col1='2';
  419. select * from t1;
  420. col1 col2 co3
  421. 1 1 0
  422. 2 9 0
  423. 3 4 0
  424. 4 7 0
  425. 5 2 0
  426. drop table t1;
  427. create table t1 (a int not null , b int, primary key (a)) engine = BDB;
  428. create table t2 (a int not null , b int, primary key (a)) engine = myisam;
  429. insert into t1 VALUES (1,3) , (2,3), (3,3);
  430. select * from t1;
  431. a b
  432. 1 3
  433. 2 3
  434. 3 3
  435. insert into t2 select * from t1;
  436. select * from t2;
  437. a b
  438. 1 3
  439. 2 3
  440. 3 3
  441. delete from t1 where b = 3;
  442. select * from t1;
  443. a b
  444. insert into t1 select * from t2;
  445. select * from t1;
  446. a b
  447. 1 3
  448. 2 3
  449. 3 3
  450. select * from t2;
  451. a b
  452. 1 3
  453. 2 3
  454. 3 3
  455. drop table t1,t2;
  456. CREATE TABLE t1 (
  457. id int(11) NOT NULL auto_increment,
  458. ggid varchar(32) binary DEFAULT '' NOT NULL,
  459. email varchar(64) DEFAULT '' NOT NULL,
  460. passwd varchar(32) binary DEFAULT '' NOT NULL,
  461. PRIMARY KEY (id),
  462. UNIQUE ggid (ggid)
  463. ) ENGINE=BDB;
  464. insert into t1 (ggid,passwd) values ('test1','xxx');
  465. insert into t1 (ggid,passwd) values ('test2','yyy');
  466. insert into t1 (ggid,passwd) values ('test2','this will fail');
  467. ERROR 23000: Duplicate entry 'test2' for key 2
  468. insert into t1 (ggid,id) values ('this will fail',1);
  469. ERROR 23000: Duplicate entry '1' for key 1
  470. select * from t1 where ggid='test1';
  471. id ggid email passwd
  472. 1 test1 xxx
  473. select * from t1 where passwd='xxx';
  474. id ggid email passwd
  475. 1 test1 xxx
  476. select * from t1 where id=2;
  477. id ggid email passwd
  478. 2 test2 yyy
  479. replace into t1 (ggid,id) values ('this will work',1);
  480. replace into t1 (ggid,passwd) values ('test2','this will work');
  481. update t1 set id=100,ggid='test2' where id=1;
  482. ERROR 23000: Duplicate entry 'test2' for key 2
  483. select * from t1;
  484. id ggid email passwd
  485. 1 this will work
  486. 3 test2 this will work
  487. select * from t1 where id=1;
  488. id ggid email passwd
  489. 1 this will work
  490. select * from t1 where id=999;
  491. id ggid email passwd
  492. drop table t1;
  493. CREATE TABLE t1 (
  494. user_name varchar(12),
  495. password text,
  496. subscribed char(1),
  497. user_id int(11) DEFAULT '0' NOT NULL,
  498. quota bigint(20),
  499. weight double,
  500. access_date date,
  501. access_time time,
  502. approved datetime,
  503. dummy_primary_key int(11) NOT NULL auto_increment,
  504. PRIMARY KEY (dummy_primary_key)
  505. ) ENGINE=BDB;
  506. INSERT INTO t1 VALUES ('user_0','somepassword','N',0,0,0,'2000-09-07','23:06:59','2000-09-07 23:06:59',1);
  507. INSERT INTO t1 VALUES ('user_1','somepassword','Y',1,1,1,'2000-09-07','23:06:59','2000-09-07 23:06:59',2);
  508. INSERT INTO t1 VALUES ('user_2','somepassword','N',2,2,1.4142135623731,'2000-09-07','23:06:59','2000-09-07 23:06:59',3);
  509. INSERT INTO t1 VALUES ('user_3','somepassword','Y',3,3,1.7320508075689,'2000-09-07','23:06:59','2000-09-07 23:06:59',4);
  510. INSERT INTO t1 VALUES ('user_4','somepassword','N',4,4,2,'2000-09-07','23:06:59','2000-09-07 23:06:59',5);
  511. select  user_name, password , subscribed, user_id, quota, weight, access_date, access_time, approved, dummy_primary_key from t1 order by user_name;
  512. user_name password subscribed user_id quota weight access_date access_time approved dummy_primary_key
  513. user_0 somepassword N 0 0 0 2000-09-07 23:06:59 2000-09-07 23:06:59 1
  514. user_1 somepassword Y 1 1 1 2000-09-07 23:06:59 2000-09-07 23:06:59 2
  515. user_2 somepassword N 2 2 1.4142135623731 2000-09-07 23:06:59 2000-09-07 23:06:59 3
  516. user_3 somepassword Y 3 3 1.7320508075689 2000-09-07 23:06:59 2000-09-07 23:06:59 4
  517. user_4 somepassword N 4 4 2 2000-09-07 23:06:59 2000-09-07 23:06:59 5
  518. drop table t1;
  519. CREATE TABLE t1 (
  520. id int(11) NOT NULL auto_increment,
  521. parent_id int(11) DEFAULT '0' NOT NULL,
  522. level tinyint(4) DEFAULT '0' NOT NULL,
  523. KEY (id),
  524. KEY parent_id (parent_id),
  525. KEY level (level)
  526. ) engine=bdb;
  527. INSERT INTO t1 VALUES (1,0,0),(3,1,1),(4,1,1),(8,2,2),(9,2,2),(17,3,2),(22,4,2),(24,4,2),(28,5,2),(29,5,2),(30,5,2),(31,6,2),(32,6,2),(33,6,2),(203,7,2),(202,7,2),(20,3,2),(157,0,0),(193,5,2),(40,7,2),(2,1,1),(15,2,2),(6,1,1),(34,6,2),(35,6,2),(16,3,2),(7,1,1),(36,7,2),(18,3,2),(26,5,2),(27,5,2),(183,4,2),(38,7,2),(25,5,2),(37,7,2),(21,4,2),(19,3,2),(5,1,1);
  528. INSERT INTO t1 values (179,5,2);
  529. update t1 set parent_id=parent_id+100;
  530. select * from t1 where parent_id=102;
  531. id parent_id level
  532. 8 102 2
  533. 9 102 2
  534. 15 102 2
  535. update t1 set id=id+1000;
  536. update t1 set id=1024 where id=1009;
  537. select * from t1;
  538. id parent_id level
  539. 1001 100 0
  540. 1003 101 1
  541. 1004 101 1
  542. 1008 102 2
  543. 1024 102 2
  544. 1017 103 2
  545. 1022 104 2
  546. 1024 104 2
  547. 1028 105 2
  548. 1029 105 2
  549. 1030 105 2
  550. 1031 106 2
  551. 1032 106 2
  552. 1033 106 2
  553. 1203 107 2
  554. 1202 107 2
  555. 1020 103 2
  556. 1157 100 0
  557. 1193 105 2
  558. 1040 107 2
  559. 1002 101 1
  560. 1015 102 2
  561. 1006 101 1
  562. 1034 106 2
  563. 1035 106 2
  564. 1016 103 2
  565. 1007 101 1
  566. 1036 107 2
  567. 1018 103 2
  568. 1026 105 2
  569. 1027 105 2
  570. 1183 104 2
  571. 1038 107 2
  572. 1025 105 2
  573. 1037 107 2
  574. 1021 104 2
  575. 1019 103 2
  576. 1005 101 1
  577. 1179 105 2
  578. update ignore t1 set id=id+1;
  579. select * from t1;
  580. id parent_id level
  581. 1002 100 0
  582. 1004 101 1
  583. 1005 101 1
  584. 1009 102 2
  585. 1025 102 2
  586. 1018 103 2
  587. 1023 104 2
  588. 1025 104 2
  589. 1029 105 2
  590. 1030 105 2
  591. 1031 105 2
  592. 1032 106 2
  593. 1033 106 2
  594. 1034 106 2
  595. 1204 107 2
  596. 1203 107 2
  597. 1021 103 2
  598. 1158 100 0
  599. 1194 105 2
  600. 1041 107 2
  601. 1003 101 1
  602. 1016 102 2
  603. 1007 101 1
  604. 1035 106 2
  605. 1036 106 2
  606. 1017 103 2
  607. 1008 101 1
  608. 1037 107 2
  609. 1019 103 2
  610. 1027 105 2
  611. 1028 105 2
  612. 1184 104 2
  613. 1039 107 2
  614. 1026 105 2
  615. 1038 107 2
  616. 1022 104 2
  617. 1020 103 2
  618. 1006 101 1
  619. 1180 105 2
  620. update ignore t1 set id=1023 where id=1010;
  621. select * from t1 where parent_id=102;
  622. id parent_id level
  623. 1009 102 2
  624. 1025 102 2
  625. 1016 102 2
  626. explain select level from t1 where level=1;
  627. id select_type table type possible_keys key key_len ref rows Extra
  628. 1 SIMPLE t1 ref level level 1 const 1 Using where; Using index
  629. select level,id from t1 where level=1;
  630. level id
  631. 1 1004
  632. 1 1005
  633. 1 1003
  634. 1 1007
  635. 1 1008
  636. 1 1006
  637. select level,id,parent_id from t1 where level=1;
  638. level id parent_id
  639. 1 1004 101
  640. 1 1005 101
  641. 1 1003 101
  642. 1 1007 101
  643. 1 1008 101
  644. 1 1006 101
  645. select level,id from t1 where level=1 order by id;
  646. level id
  647. 1 1003
  648. 1 1004
  649. 1 1005
  650. 1 1006
  651. 1 1007
  652. 1 1008
  653. delete from t1 where level=1;
  654. select * from t1;
  655. id parent_id level
  656. 1002 100 0
  657. 1009 102 2
  658. 1025 102 2
  659. 1018 103 2
  660. 1023 104 2
  661. 1025 104 2
  662. 1029 105 2
  663. 1030 105 2
  664. 1031 105 2
  665. 1032 106 2
  666. 1033 106 2
  667. 1034 106 2
  668. 1204 107 2
  669. 1203 107 2
  670. 1021 103 2
  671. 1158 100 0
  672. 1194 105 2
  673. 1041 107 2
  674. 1016 102 2
  675. 1035 106 2
  676. 1036 106 2
  677. 1017 103 2
  678. 1037 107 2
  679. 1019 103 2
  680. 1027 105 2
  681. 1028 105 2
  682. 1184 104 2
  683. 1039 107 2
  684. 1026 105 2
  685. 1038 107 2
  686. 1022 104 2
  687. 1020 103 2
  688. 1180 105 2
  689. drop table t1;
  690. CREATE TABLE t1 (
  691. sca_code char(6) NOT NULL,
  692. cat_code char(6) NOT NULL,
  693. sca_desc varchar(50),
  694. lan_code char(2) NOT NULL,
  695. sca_pic varchar(100),
  696. sca_sdesc varchar(50),
  697. sca_sch_desc varchar(16),
  698. PRIMARY KEY (sca_code, cat_code, lan_code),
  699. INDEX sca_pic (sca_pic)
  700. ) engine = bdb ;
  701. INSERT INTO t1 ( sca_code, cat_code, sca_desc, lan_code, sca_pic, sca_sdesc, sca_sch_desc) VALUES ( 'PD', 'J', 'PENDANT', 'EN', NULL, NULL, 'PENDANT'),( 'RI', 'J', 'RING', 'EN', NULL, NULL, 'RING'),( 'QQ', 'N', 'RING', 'EN', 'not null', NULL, 'RING');
  702. select count(*) from t1 where sca_code = 'PD';
  703. count(*)
  704. 1
  705. select count(*) from t1 where sca_code <= 'PD';
  706. count(*)
  707. 1
  708. select count(*) from t1 where sca_pic is null;
  709. count(*)
  710. 2
  711. alter table t1 drop index sca_pic, add index sca_pic (cat_code, sca_pic);
  712. select count(*) from t1 where sca_code='PD' and sca_pic is null;
  713. count(*)
  714. 1
  715. select count(*) from t1 where cat_code='E';
  716. count(*)
  717. 0
  718. alter table t1 drop index sca_pic, add index (sca_pic, cat_code);
  719. select count(*) from t1 where sca_code='PD' and sca_pic is null;
  720. count(*)
  721. 1
  722. select count(*) from t1 where sca_pic >= 'n';
  723. count(*)
  724. 1
  725. select sca_pic from t1 where sca_pic is null;
  726. sca_pic
  727. NULL
  728. NULL
  729. update t1 set sca_pic="test" where sca_pic is null;
  730. delete from t1 where sca_code='pd';
  731. drop table t1;
  732. set @a:=now();
  733. CREATE TABLE t1 (a int not null, b timestamp not null, primary key (a)) engine=bdb;
  734. insert into t1 (a) values(1),(2),(3);
  735. select t1.a from t1 natural join t1 as t2 where t1.b >= @a order by t1.a;
  736. a
  737. 1
  738. 2
  739. 3
  740. update t1 set a=5 where a=1;
  741. select a from t1;
  742. a
  743. 2
  744. 3
  745. 5
  746. drop table t1;
  747. flush logs;
  748. create table t1 (b blob, i int, key (b(100)), key (i), key (i, b(20))) engine=bdb;
  749. insert into t1 values ('this is a blob', 1), (null, -1), (null, null),("",1),("",2),("",3);
  750. select b from t1 where b = 'this is a blob';
  751. b
  752. this is a blob
  753. select * from t1 where b like 't%';
  754. b i
  755. this is a blob 1
  756. select b, i from t1 where b is not null;
  757. b i
  758. this is a blob 1
  759. 1
  760. 2
  761. 3
  762. select * from t1 where b is null and i > 0;
  763. b i
  764. select * from t1 where i is NULL;
  765. b i
  766. NULL NULL
  767. update t1 set b='updated' where i=1;
  768. select * from t1;
  769. b i
  770. updated 1
  771. NULL -1
  772. NULL NULL
  773. updated 1
  774. 2
  775. 3
  776. drop table t1;
  777. create table t1 (a varchar(100) not null, primary key(a), b int not null) engine=bdb;
  778. insert into t1 values("hello",1),("world",2);
  779. select * from t1 order by b desc;
  780. a b
  781. world 2
  782. hello 1
  783. optimize table t1;
  784. Table Op Msg_type Msg_text
  785. test.t1 optimize status OK
  786. show keys from t1;
  787. Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
  788. t1 0 PRIMARY 1 a A 2 NULL NULL BTREE
  789. drop table t1;
  790. create table t1 (i int, j int )ENGINE=BDB;
  791. insert into t1 values (1,2);
  792. select * from t1 where i=1 and j=2;
  793. i j
  794. 1 2
  795. create index ax1 on t1 (i,j);
  796. select * from t1 where i=1 and j=2;
  797. i j
  798. 1 2
  799. drop table t1;
  800. create table t1
  801. (
  802. branch_id int auto_increment primary key,
  803. branch_name varchar(255) not null,
  804. branch_active int not null  default 1,
  805. unique  branch_name(branch_name),
  806. index branch_active(branch_active)
  807. ) engine=bdb;
  808. create table t2
  809. (
  810. target_id int auto_increment primary key,
  811. target_name varchar(255) not null,
  812. target_active int not null  default 1,
  813. unique target_name(target_name),
  814. index target_active(target_active)
  815. ) engine=bdb;
  816. create table t3
  817. (
  818. platform_id int auto_increment primary key,
  819. platform_name varchar(255) not null,
  820. platform_active int not null  default 1,
  821. unique platform_name(platform_name),
  822. index platform_active(platform_active)
  823. ) engine=bdb;
  824. create table t4
  825. (
  826. product_id int auto_increment primary key,
  827. product_name varchar(255) not null,
  828. version_file varchar(255) not null,
  829. product_active int not null  default 1,
  830. unique product_name(product_name),
  831. index product_active(product_active)
  832. ) engine=bdb;
  833. create table t5
  834. (
  835. product_file_id int auto_increment primary key,
  836. product_id int not null,
  837. file_name varchar(255) not null,
  838. /* cvs module used to find the file version */
  839. module_name varchar(255) not null,
  840. /* flag whether the file is still included in the product */
  841. file_included int not null default 1,
  842. unique product_file(product_id,file_name),
  843. index file_included(file_included)
  844. ) engine=bdb;
  845. create table t6
  846. (
  847. file_platform_id int auto_increment primary key,
  848. product_file_id int not null,
  849. platform_id int not null,
  850. branch_id int not null,
  851. /* filename in the build system */
  852. build_filename varchar(255) not null,
  853. /* default filename in the build archive */
  854. archive_filename varchar(255) not null,
  855. unique  file_platform(product_file_id,platform_id,branch_id)
  856. ) engine=bdb;
  857. create table t8
  858. (
  859. archive_id int auto_increment primary key,
  860. branch_id int not null,
  861. target_id int not null,
  862. platform_id int not null,
  863. product_id int not null,
  864. status_id int not null default 1,
  865. unique  archive(branch_id,target_id,platform_id,product_id),
  866. index status_id(status_id)
  867. ) engine=bdb;
  868. create table t7
  869. (
  870. build_id int auto_increment primary key,
  871. branch_id int not null,
  872. target_id int not null,
  873. build_number int not null,
  874. build_date date not null,
  875. /* build system tag, e.g. 'rmanight-022301-1779' */
  876. build_tag varchar(255) not null,
  877. /* path relative to the build archive root, e.g. 'current' */
  878. build_path text not null,
  879. unique  build(branch_id,target_id,build_number)
  880. ) engine=bdb;
  881. insert into t1 (branch_name)
  882. values ('RealMedia');
  883. insert into t1 (branch_name)
  884. values ('RP8REV');
  885. insert into t1 (branch_name)
  886. values ('SERVER_8_0_GOLD');
  887. insert into t2 (target_name)
  888. values ('rmanight');
  889. insert into t2 (target_name)
  890. values ('playerall');
  891. insert into t2 (target_name)
  892. values ('servproxyall');
  893. insert into t3 (platform_name)
  894. values ('linux-2.0-libc6-i386');
  895. insert into t3 (platform_name)
  896. values ('win32-i386');
  897. insert into t4 (product_name, version_file)
  898. values ('realserver', 'servinst');
  899. insert into t4 (product_name, version_file)
  900. values ('realproxy', 'prxyinst');
  901. insert into t4 (product_name, version_file)
  902. values ('realplayer', 'playinst');
  903. insert into t4 (product_name, version_file)
  904. values ('plusplayer', 'plusinst');
  905. create temporary table tmp1
  906. select branch_id, target_id, platform_id, product_id
  907. from t1, t2, t3, t4 ;
  908. create temporary table tmp2 
  909. select tmp1.branch_id, tmp1.target_id, tmp1.platform_id, tmp1.product_id 
  910. from tmp1 left join t8 
  911. using (branch_id,target_id,platform_id,product_id) 
  912. where t8.archive_id is null ;
  913. insert into t8 
  914. (branch_id, target_id, platform_id, product_id, status_id)
  915. select branch_id, target_id, platform_id, product_id, 1
  916. from tmp2 ;
  917. drop table tmp1 ;
  918. drop table tmp2 ;
  919. insert into t5 (product_id, file_name, module_name)
  920. values (1, 'servinst', 'server');
  921. insert into t5 (product_id, file_name, module_name)
  922. values (2, 'prxyinst', 'server');
  923. insert into t5 (product_id, file_name, module_name)
  924. values (3, 'playinst', 'rpapp');
  925. insert into t5 (product_id, file_name, module_name)
  926. values (4, 'plusinst', 'rpapp');
  927. insert into t6 
  928. (product_file_id,platform_id,branch_id,build_filename,archive_filename)
  929. values (1, 2, 3, 'servinst.exe', 'win32-servinst.exe');
  930. insert into t6 
  931. (product_file_id,platform_id,branch_id,build_filename,archive_filename)
  932. values (1, 1, 3, 'v80_linux-2.0-libc6-i386_servinst.bin', 'linux2-servinst.exe');
  933. insert into t6 
  934. (product_file_id,platform_id,branch_id,build_filename,archive_filename)
  935. values (3, 2, 2, 'playinst.exe', 'win32-playinst.exe');
  936. insert into t6 
  937. (product_file_id,platform_id,branch_id,build_filename,archive_filename)
  938. values (4, 2, 2, 'playinst.exe', 'win32-playinst.exe');
  939. insert into t7 
  940. (branch_id,target_id,build_number,build_tag,build_date,build_path)
  941. values (2, 2, 1071, 'playerall-022101-1071', '2001-02-21', 'current');
  942. insert into t7 
  943. (branch_id,target_id,build_number,build_tag,build_date,build_path)
  944. values (2, 2, 1072, 'playerall-022201-1072', '2001-02-22', 'current');
  945. insert into t7 
  946. (branch_id,target_id,build_number,build_tag,build_date,build_path)
  947. values (3, 3, 388, 'servproxyall-022201-388', '2001-02-22', 'current');
  948. insert into t7 
  949. (branch_id,target_id,build_number,build_tag,build_date,build_path)
  950. values (3, 3, 389, 'servproxyall-022301-389', '2001-02-23', 'current');
  951. insert into t7 
  952. (branch_id,target_id,build_number,build_tag,build_date,build_path)
  953. values (4, 4, 100, 'foo target-010101-100', '2001-01-01', 'current');
  954. update t8
  955. set status_id=2
  956. where branch_id=2 and target_id=2 and platform_id=2 and product_id=1;
  957. select t7.build_path
  958. from 
  959. t1, 
  960. t7, 
  961. t2, 
  962. t3, 
  963. t4,
  964. t5, 
  965. t6
  966. where 
  967. t7.branch_id = t1.branch_id and 
  968. t7.target_id = t2.target_id and 
  969. t5.product_id = t4.product_id and
  970. t6.product_file_id = t5.product_file_id and
  971. t6.platform_id = t3.platform_id and
  972. t6.branch_id = t6.branch_id and
  973. t7.build_id = 1 and
  974. t4.product_id = 3 and
  975. t5.file_name = 'playinst' and
  976. t3.platform_id = 2;
  977. build_path
  978. current
  979. drop table t1, t2, t3, t4, t5, t6, t7, t8;
  980. CREATE TABLE t1 (
  981. a tinytext NOT NULL,
  982. b tinyint(3) unsigned NOT NULL default '0',
  983. PRIMARY KEY (a(32),b)
  984. ) ENGINE=BDB;
  985. INSERT INTO t1 VALUES ('a',1),('a',2);
  986. SELECT * FROM t1 WHERE a='a' AND b=2;
  987. a b
  988. a 2
  989. SELECT * FROM t1 WHERE a='a' AND b in (2);
  990. a b
  991. a 2
  992. SELECT * FROM t1 WHERE a='a' AND b in (1,2);
  993. a b
  994. a 1
  995. a 2
  996. drop table t1;
  997. CREATE TABLE t1 (
  998. a int3 unsigned NOT NULL,
  999. b int1 unsigned NOT NULL,
  1000. UNIQUE (a, b)
  1001. ) ENGINE = BDB;
  1002. INSERT INTO t1 VALUES (1, 1);
  1003. SELECT MIN(B),MAX(b) FROM t1 WHERE t1.a = 1;
  1004. MIN(B) MAX(b)
  1005. 1 1
  1006. drop table t1;
  1007. create table t1 (id int NOT NULL,id2 int NOT NULL,id3 int NOT NULL,dummy1 char(30),primary key (id,id2),index index_id3 (id3)) engine=bdb;
  1008. insert into t1 values (0,0,0,'ABCDEFGHIJ'),(2,2,2,'BCDEFGHIJK'),(1,1,1,'CDEFGHIJKL');
  1009. LOCK TABLES t1 WRITE;
  1010. insert into t1 values (99,1,2,'D'),(1,1,2,'D');
  1011. ERROR 23000: Duplicate entry '1-1' for key 1
  1012. select id from t1;
  1013. id
  1014. 0
  1015. 1
  1016. 2
  1017. select id from t1;
  1018. id
  1019. 0
  1020. 1
  1021. 2
  1022. UNLOCK TABLES;
  1023. DROP TABLE t1;
  1024. create table t1 (id int NOT NULL,id2 int NOT NULL,id3 int NOT NULL,dummy1 char(30),primary key (id,id2),index index_id3 (id3)) engine=bdb;
  1025. insert into t1 values (0,0,0,'ABCDEFGHIJ'),(2,2,2,'BCDEFGHIJK'),(1,1,1,'CDEFGHIJKL');
  1026. LOCK TABLES t1 WRITE;
  1027. begin;
  1028. insert into t1 values (99,1,2,'D'),(1,1,2,'D');
  1029. ERROR 23000: Duplicate entry '1-1' for key 1
  1030. select id from t1;
  1031. id
  1032. 0
  1033. 1
  1034. 2
  1035. insert ignore into t1 values (100,1,2,'D'),(1,1,99,'D');
  1036. commit;
  1037. select id,id3 from t1;
  1038. id id3
  1039. 0 0
  1040. 1 1
  1041. 2 2
  1042. 100 2
  1043. UNLOCK TABLES;
  1044. DROP TABLE t1;
  1045. CREATE TABLE t1 (SYAIN_NO char(5) NOT NULL default '', KINMU_DATE char(6) NOT NULL default '', PRIMARY KEY  (SYAIN_NO,KINMU_DATE)) ENGINE=BerkeleyDB;
  1046. CREATE TABLE t2 ( SYAIN_NO char(5) NOT NULL default '',STR_DATE char(8) NOT NULL default '',PRIMARY KEY  (SYAIN_NO,STR_DATE) ) ENGINE=BerkeleyDB;
  1047. select T1.KINMU_DATE from t1 T1 ,t2 T2 where  T1.SYAIN_NO = '12345' and T1.KINMU_DATE = '200106' and T2.SYAIN_NO = T1.SYAIN_NO;
  1048. KINMU_DATE
  1049. select T1.KINMU_DATE from t1 T1 ,t2 T2 where  T1.SYAIN_NO = '12345' and T1.KINMU_DATE = '200106' and T2.SYAIN_NO = T1.SYAIN_NO;
  1050. KINMU_DATE
  1051. DROP TABLE t1,t2;
  1052. create table t1 (a int(11) not null, b int(11) not null, unique (a,b)) engine=bdb;
  1053. insert into t1 values (1,1), (1,2);
  1054. select * from t1 where a = 1;
  1055. a b
  1056. 1 1
  1057. 1 2
  1058. select t1.*, t2.* from t1, t1 t2 where t1.a = t2.a and t2.a = 1;
  1059. a b a b
  1060. 1 1 1 1
  1061. 1 1 1 2
  1062. 1 2 1 1
  1063. 1 2 1 2
  1064. select * from t1 where a = 1;
  1065. a b
  1066. 1 1
  1067. 1 2
  1068. drop table t1;
  1069. create table t1 (id int NOT NULL,id2 int NOT NULL,id3 int NOT NULL,dummy1 char(30),primary key (id,id2),index index_id3 (id3)) engine=bdb;
  1070. insert into t1 values (0,0,0,'ABCDEFGHIJ');
  1071. create table t2 (id int NOT NULL,primary key (id)) engine=bdb;
  1072. LOCK TABLES t1 WRITE, t2 WRITE;
  1073. insert into t2 values(1);
  1074. SELECT t1.* FROM t1 WHERE id IN (1);
  1075. id id2 id3 dummy1
  1076. SELECT t1.* FROM t2 left outer join t1 on (t1.id=t2.id);
  1077. id id2 id3 dummy1
  1078. NULL NULL NULL NULL
  1079. delete from t1 where id3 >= 0 and id3 <= 0;
  1080. drop table t1,t2;
  1081. CREATE TABLE t1 (i varchar(48) NOT NULL default '', p varchar(255) default NULL,s varchar(48) NOT NULL default '', PRIMARY KEY  (i), UNIQUE(p,s)) ENGINE=BDB;
  1082. INSERT INTO t1 VALUES ('00000000-e6c4ddeaa6-003b8-83458387','programs/xxxxxxxx.wmv','00000000-e6c4ddeb32-003bc-83458387');
  1083. SELECT * FROM t1 WHERE p='programs/xxxxxxxx.wmv';
  1084. i p s
  1085. 00000000-e6c4ddeaa6-003b8-83458387 programs/xxxxxxxx.wmv 00000000-e6c4ddeb32-003bc-83458387
  1086. drop table t1;
  1087. CREATE TABLE t1 ( STR_DATE varchar(8) NOT NULL default '',INFO_NOTE varchar(200) default NULL,PRIMARY KEY  (STR_DATE) ) ENGINE=BerkeleyDB;
  1088. select INFO_NOTE from t1 where STR_DATE = '20010610';
  1089. INFO_NOTE
  1090. select INFO_NOTE from t1 where STR_DATE < '20010610';
  1091. INFO_NOTE
  1092. select INFO_NOTE from t1 where STR_DATE > '20010610';
  1093. INFO_NOTE
  1094. drop table t1;
  1095. create table t1 (a int not null, b int, primary key (a)) engine =bdb;
  1096. create table t2 (a int not null, b int, primary key (a)) engine =bdb;
  1097. insert into t1 values (2, 3),(1, 7),(10, 7);
  1098. insert into t2 values (2, 3),(1, 7),(10, 7);
  1099. select * from t1;
  1100. a b
  1101. 1 7
  1102. 2 3
  1103. 10 7
  1104. select * from t2;
  1105. a b
  1106. 1 7
  1107. 2 3
  1108. 10 7
  1109. delete t1, t2 from t1, t2 where t1.a = t2.a;
  1110. select * from t1;
  1111. a b
  1112. select * from t2;
  1113. a b
  1114. select * from t2;
  1115. a b
  1116. drop table t1,t2;
  1117. create table t1  (x int not null, index(x)) engine=bdb;
  1118. insert into t1 values (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
  1119. select * from t1 where x <= 10 and x >= 7;
  1120. x
  1121. 7
  1122. 8
  1123. 9
  1124. 10
  1125. select * from t1 where x <= 10 and x >= 7 order by x;
  1126. x
  1127. 7
  1128. 8
  1129. 9
  1130. 10
  1131. select * from t1 where x <= 10 and x >= 7 order by x desc;
  1132. x
  1133. 10
  1134. 9
  1135. 8
  1136. 7
  1137. select * from t1 where x <= 8 and x >= 5 order by x desc;
  1138. x
  1139. 8
  1140. 7
  1141. 6
  1142. 5
  1143. select * from t1 where x < 8 and x > 5 order by x desc;
  1144. x
  1145. 7
  1146. 6
  1147. drop table t1;
  1148. create table t1 ( c char(8) not null ) engine=bdb;
  1149. insert into t1 values ('0'),('1'),('2'),('3'),('4'),('5'),('6'),('7'),('8'),('9');
  1150. insert into t1 values ('A'),('B'),('C'),('D'),('E'),('F');
  1151. alter table t1 add b char(8) not null;
  1152. alter table t1 add a char(8) not null;
  1153. alter table t1 add primary key (a,b,c);
  1154. update t1 set a=c, b=c;
  1155. create table t2 (c char(8) not null, b char(8) not null, a char(8) not null, primary key(a,b,c)) engine=bdb;
  1156. insert into t2 select * from t1;
  1157. delete t1,t2 from t2,t1 where t1.a<'B' and t2.b=t1.b;
  1158. drop table t1,t2;
  1159. create table t1 (a char(10), key(a), b int not null, key(b)) engine=bdb;
  1160. insert into t1 values ('a',1),('A',2);
  1161. explain select a from t1;
  1162. id select_type table type possible_keys key key_len ref rows Extra
  1163. 1 SIMPLE t1 ALL NULL NULL NULL NULL 2
  1164. select a from t1;
  1165. a
  1166. a
  1167. A
  1168. explain select b from t1;
  1169. id select_type table type possible_keys key key_len ref rows Extra
  1170. 1 SIMPLE t1 index NULL b 4 NULL 2 Using index
  1171. select b from t1;
  1172. b
  1173. 1
  1174. 2
  1175. alter table t1 modify a char(10) binary;
  1176. explain select a from t1;
  1177. id select_type table type possible_keys key key_len ref rows Extra
  1178. 1 SIMPLE t1 index NULL a 11 NULL 2 Using index
  1179. select a from t1;
  1180. a
  1181. A
  1182. a
  1183. drop table t1;
  1184. create table t1(
  1185. pk1 text not null, pk2 text not null, pk3 char(4),
  1186. key1 int, key2 int,
  1187. primary key(pk1(4), pk2(4), pk3), key(key1), key(key2)
  1188. ) engine=bdb;
  1189. insert into t1 values (concat('aaa-', repeat('A', 4000)),
  1190. concat('eee-', repeat('e', 4000)), 'a++a', 1, 1);
  1191. insert into t1 values (concat('bbb-', repeat('B', 4000)),
  1192. concat('ggg-', repeat('G', 4000)), 'b++b', 1, 1);
  1193. select substring(pk1, 1, 4), substring(pk1, 4001),
  1194. substring(pk2, 1, 4), substring(pk2, 4001), pk3, key1, key2
  1195. from t1 force index(key1, key2) where key1 < 3 or key2 < 3;
  1196. substring(pk1, 1, 4) substring(pk1, 4001) substring(pk2, 1, 4) substring(pk2, 4001) pk3 key1 key2
  1197. aaa- AAAA eee- eeee a++a 1 1
  1198. bbb- BBBB ggg- GGGG b++b 1 1
  1199. drop table t1;
  1200. create table t1 (
  1201. pk1 varchar(8) not null default '',
  1202. pk2 varchar(4) not null default '',
  1203. key1 int(11) default null,
  1204. key2 int(11) default null,
  1205. primary key  (pk1,pk2),
  1206. key key1 (key1),
  1207. key key2 (key2)) engine=bdb;
  1208. insert into t1 values ('','empt',2,2),  ('a','a--a',2,2),
  1209. ('bb','b--b',2,2),  ('ccc','c--c',2,2),  ('dddd','d--d',2,2);
  1210. select * from t1 force index(key1, key2) where key1 < 3 or key2 < 3;
  1211. pk1 pk2 key1 key2
  1212. empt 2 2
  1213. a a--a 2 2
  1214. bb b--b 2 2
  1215. ccc c--c 2 2
  1216. dddd d--d 2 2
  1217. drop table t1;
  1218. set autocommit=0;
  1219. create table t1(b varchar(30)) engine=bdb;
  1220. insert into t1 values ('one');
  1221. commit;
  1222. select b FROM t1 outer_table where
  1223. exists (select 'two' from t1 where 'two' = outer_table.b);
  1224. b
  1225. drop table t1;
  1226. set autocommit=1;
  1227. create table t1(a int primary key, b varchar(30)) engine=bdb;
  1228. insert into t1 values (1,'one'), (2,'two'), (3,'three'), (4,'four');
  1229. create table t2 like t1;
  1230. insert t2 select * from t1;
  1231. select a from t1 where a in (select a from t2);
  1232. a
  1233. 1
  1234. 2
  1235. 3
  1236. 4
  1237. delete from t2;
  1238. insert into t2 (a, b)
  1239. select a, b from t1 where (a, b) in (select a, b from t1);
  1240. select * from t2;
  1241. a b
  1242. 1 one
  1243. 2 two
  1244. 3 three
  1245. 4 four
  1246. drop table t1, t2;
  1247. create table t1 (a int, b varchar(30), primary key(a)) engine = bdb;
  1248. insert into t1 values (1,'one');
  1249. commit;
  1250. truncate t1;
  1251. select * from t1;
  1252. a b
  1253. drop table t1;
  1254. SET NAMES utf8;
  1255. create table t1 (a varchar(255) character set utf8) engine=bdb;
  1256. set @a:= convert(repeat(_latin1 0xFF, 255) using utf8);
  1257. insert into t1 values (@a);
  1258. select a, length(a), char_length(a) from t1;
  1259. a length(a) char_length(a)
  1260. ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ 510 255
  1261. drop table t1;
  1262. SET NAMES latin1;
  1263. CREATE TABLE t1 (
  1264. id       int unsigned NOT NULL auto_increment,
  1265. list_id  smallint unsigned NOT NULL,
  1266. term     TEXT NOT NULL,
  1267. PRIMARY KEY(id),
  1268. INDEX(list_id, term(4))
  1269. ) ENGINE=BDB CHARSET=utf8;
  1270. INSERT INTO t1 SET list_id = 1, term = "letterc";
  1271. INSERT INTO t1 SET list_id = 1, term = "letterb";
  1272. INSERT INTO t1 SET list_id = 1, term = "lettera";
  1273. INSERT INTO t1 SET list_id = 1, term = "letterd";
  1274. SELECT id FROM t1 WHERE (list_id = 1) AND (term = "letterc");
  1275. id
  1276. 1
  1277. SELECT id FROM t1 WHERE (list_id = 1) AND (term = "letterb");
  1278. id
  1279. 2
  1280. SELECT id FROM t1 WHERE (list_id = 1) AND (term = "lettera");
  1281. id
  1282. 3
  1283. SELECT id FROM t1 WHERE (list_id = 1) AND (term = "letterd");
  1284. id
  1285. 4
  1286. DROP TABLE t1;