⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rowid.test

📁 sqlite-3.4.1,嵌入式数据库.是一个功能强大的开源数据库,给学习和研发以及小型公司的发展带来了全所未有的好处.
💻 TEST
📖 第 1 页 / 共 2 页
字号:
    INSERT INTO t2(b) VALUES(66);    SELECT * FROM t2;  }} {1 55 2 66}do_test rowid-7.4 {  execsql {    INSERT INTO t2(a,b) VALUES(1000000,77);    INSERT INTO t2(b) VALUES(88);    SELECT * FROM t2;  }} {1 55 2 66 1000000 77 1000001 88}do_test rowid-7.5 {  execsql {    INSERT INTO t2(a,b) VALUES(2147483647,99);    INSERT INTO t2(b) VALUES(11);    SELECT b FROM t2 ORDER BY b;  }} {11 55 66 77 88 99}ifcapable subquery {  do_test rowid-7.6 {    execsql {      SELECT b FROM t2 WHERE a NOT IN(1,2,1000000,1000001,2147483647);    }  } {11}  do_test rowid-7.7 {    execsql {      INSERT INTO t2(b) VALUES(22);      INSERT INTO t2(b) VALUES(33);      INSERT INTO t2(b) VALUES(44);      INSERT INTO t2(b) VALUES(55);      SELECT b FROM t2 WHERE a NOT IN(1,2,1000000,1000001,2147483647)           ORDER BY b;    }  } {11 22 33 44 55}}do_test rowid-7.8 {  execsql {    DELETE FROM t2 WHERE a!=2;    INSERT INTO t2(b) VALUES(111);    SELECT * FROM t2;  }} {2 66 3 111}ifcapable {trigger} {# Make sure AFTER triggers that do INSERTs do not change the last_insert_rowid.# Ticket #290#do_test rowid-8.1 {  execsql {    CREATE TABLE t3(a integer primary key);    CREATE TABLE t4(x);    INSERT INTO t4 VALUES(1);    CREATE TRIGGER r3 AFTER INSERT on t3 FOR EACH ROW BEGIN      INSERT INTO t4 VALUES(NEW.a+10);    END;    SELECT * FROM t3;  }} {}do_test rowid-8.2 {  execsql {    SELECT rowid, * FROM t4;  }} {1 1}do_test rowid-8.3 {  execsql {    INSERT INTO t3 VALUES(123);    SELECT last_insert_rowid();  }} {123}do_test rowid-8.4 {  execsql {    SELECT * FROM t3;  }} {123}do_test rowid-8.5 {  execsql {    SELECT rowid, * FROM t4;  }} {1 1 2 133}do_test rowid-8.6 {  execsql {    INSERT INTO t3 VALUES(NULL);    SELECT last_insert_rowid();  }} {124}do_test rowid-8.7 {  execsql {    SELECT * FROM t3;  }} {123 124}do_test rowid-8.8 {  execsql {    SELECT rowid, * FROM t4;  }} {1 1 2 133 3 134}} ;# endif trigger# If triggers are not enable, simulate their effect for the tests that# follow.ifcapable {!trigger} {  execsql {    CREATE TABLE t3(a integer primary key);    INSERT INTO t3 VALUES(123);    INSERT INTO t3 VALUES(124);  }}# ticket #377: Comparison between integer primiary key and floating point# values.#do_test rowid-9.1 {  execsql {    SELECT * FROM t3 WHERE a<123.5  }} {123}do_test rowid-9.2 {  execsql {    SELECT * FROM t3 WHERE a<124.5  }} {123 124}do_test rowid-9.3 {  execsql {    SELECT * FROM t3 WHERE a>123.5  }} {124}do_test rowid-9.4 {  execsql {    SELECT * FROM t3 WHERE a>122.5  }} {123 124}do_test rowid-9.5 {  execsql {    SELECT * FROM t3 WHERE a==123.5  }} {}do_test rowid-9.6 {  execsql {    SELECT * FROM t3 WHERE a==123.000  }} {123}do_test rowid-9.7 {  execsql {    SELECT * FROM t3 WHERE a>100.5 AND a<200.5  }} {123 124}do_test rowid-9.8 {  execsql {    SELECT * FROM t3 WHERE a>'xyz';  }} {}do_test rowid-9.9 {  execsql {    SELECT * FROM t3 WHERE a<'xyz';  }} {123 124}do_test rowid-9.10 {  execsql {    SELECT * FROM t3 WHERE a>=122.9 AND a<=123.1  }} {123}# Ticket #567.  Comparisons of ROWID or integery primary key against# floating point numbers still do not always work.#do_test rowid-10.1 {  execsql {    CREATE TABLE t5(a);    INSERT INTO t5 VALUES(1);    INSERT INTO t5 VALUES(2);    INSERT INTO t5 SELECT a+2 FROM t5;    INSERT INTO t5 SELECT a+4 FROM t5;    SELECT rowid, * FROM t5;  }} {1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8}do_test rowid-10.2 {  execsql {SELECT rowid, a FROM t5 WHERE rowid>=5.5}} {6 6 7 7 8 8}do_test rowid-10.3 {  execsql {SELECT rowid, a FROM t5 WHERE rowid>=5.0}} {5 5 6 6 7 7 8 8}do_test rowid-10.4 {  execsql {SELECT rowid, a FROM t5 WHERE rowid>5.5}} {6 6 7 7 8 8}do_test rowid-10.3.2 {  execsql {SELECT rowid, a FROM t5 WHERE rowid>5.0}} {6 6 7 7 8 8}do_test rowid-10.5 {  execsql {SELECT rowid, a FROM t5 WHERE 5.5<=rowid}} {6 6 7 7 8 8}do_test rowid-10.6 {  execsql {SELECT rowid, a FROM t5 WHERE 5.5<rowid}} {6 6 7 7 8 8}do_test rowid-10.7 {  execsql {SELECT rowid, a FROM t5 WHERE rowid<=5.5}} {1 1 2 2 3 3 4 4 5 5}do_test rowid-10.8 {  execsql {SELECT rowid, a FROM t5 WHERE rowid<5.5}} {1 1 2 2 3 3 4 4 5 5}do_test rowid-10.9 {  execsql {SELECT rowid, a FROM t5 WHERE 5.5>=rowid}} {1 1 2 2 3 3 4 4 5 5}do_test rowid-10.10 {  execsql {SELECT rowid, a FROM t5 WHERE 5.5>rowid}} {1 1 2 2 3 3 4 4 5 5}do_test rowid-10.11 {  execsql {SELECT rowid, a FROM t5 WHERE rowid>=5.5 ORDER BY rowid DESC}} {8 8 7 7 6 6}do_test rowid-10.11.2 {  execsql {SELECT rowid, a FROM t5 WHERE rowid>=5.0 ORDER BY rowid DESC}} {8 8 7 7 6 6 5 5}do_test rowid-10.12 {  execsql {SELECT rowid, a FROM t5 WHERE rowid>5.5 ORDER BY rowid DESC}} {8 8 7 7 6 6}do_test rowid-10.12.2 {  execsql {SELECT rowid, a FROM t5 WHERE rowid>5.0 ORDER BY rowid DESC}} {8 8 7 7 6 6}do_test rowid-10.13 {  execsql {SELECT rowid, a FROM t5 WHERE 5.5<=rowid ORDER BY rowid DESC}} {8 8 7 7 6 6}do_test rowid-10.14 {  execsql {SELECT rowid, a FROM t5 WHERE 5.5<rowid ORDER BY rowid DESC}} {8 8 7 7 6 6}do_test rowid-10.15 {  execsql {SELECT rowid, a FROM t5 WHERE rowid<=5.5 ORDER BY rowid DESC}} {5 5 4 4 3 3 2 2 1 1}do_test rowid-10.16 {  execsql {SELECT rowid, a FROM t5 WHERE rowid<5.5 ORDER BY rowid DESC}} {5 5 4 4 3 3 2 2 1 1}do_test rowid-10.17 {  execsql {SELECT rowid, a FROM t5 WHERE 5.5>=rowid ORDER BY rowid DESC}} {5 5 4 4 3 3 2 2 1 1}do_test rowid-10.18 {  execsql {SELECT rowid, a FROM t5 WHERE 5.5>rowid ORDER BY rowid DESC}} {5 5 4 4 3 3 2 2 1 1}do_test rowid-10.30 {  execsql {    CREATE TABLE t6(a);    INSERT INTO t6(rowid,a) SELECT -a,a FROM t5;    SELECT rowid, * FROM t6;  }} {-8 8 -7 7 -6 6 -5 5 -4 4 -3 3 -2 2 -1 1}do_test rowid-10.31.1 {  execsql {SELECT rowid, a FROM t6 WHERE rowid>=-5.5}} {-5 5 -4 4 -3 3 -2 2 -1 1}do_test rowid-10.31.2 {  execsql {SELECT rowid, a FROM t6 WHERE rowid>=-5.0}} {-5 5 -4 4 -3 3 -2 2 -1 1}do_test rowid-10.32.1 {  execsql {SELECT rowid, a FROM t6 WHERE rowid>=-5.5 ORDER BY rowid DESC}} {-1 1 -2 2 -3 3 -4 4 -5 5}do_test rowid-10.32.1 {  execsql {SELECT rowid, a FROM t6 WHERE rowid>=-5.0 ORDER BY rowid DESC}} {-1 1 -2 2 -3 3 -4 4 -5 5}do_test rowid-10.33 {  execsql {SELECT rowid, a FROM t6 WHERE -5.5<=rowid}} {-5 5 -4 4 -3 3 -2 2 -1 1}do_test rowid-10.34 {  execsql {SELECT rowid, a FROM t6 WHERE -5.5<=rowid ORDER BY rowid DESC}} {-1 1 -2 2 -3 3 -4 4 -5 5}do_test rowid-10.35.1 {  execsql {SELECT rowid, a FROM t6 WHERE rowid>-5.5}} {-5 5 -4 4 -3 3 -2 2 -1 1}do_test rowid-10.35.2 {  execsql {SELECT rowid, a FROM t6 WHERE rowid>-5.0}} {-4 4 -3 3 -2 2 -1 1}do_test rowid-10.36.1 {  execsql {SELECT rowid, a FROM t6 WHERE rowid>-5.5 ORDER BY rowid DESC}} {-1 1 -2 2 -3 3 -4 4 -5 5}do_test rowid-10.36.2 {  execsql {SELECT rowid, a FROM t6 WHERE rowid>-5.0 ORDER BY rowid DESC}} {-1 1 -2 2 -3 3 -4 4}do_test rowid-10.37 {  execsql {SELECT rowid, a FROM t6 WHERE -5.5<rowid}} {-5 5 -4 4 -3 3 -2 2 -1 1}do_test rowid-10.38 {  execsql {SELECT rowid, a FROM t6 WHERE -5.5<rowid ORDER BY rowid DESC}} {-1 1 -2 2 -3 3 -4 4 -5 5}do_test rowid-10.39 {  execsql {SELECT rowid, a FROM t6 WHERE rowid<=-5.5}} {-8 8 -7 7 -6 6}do_test rowid-10.40 {  execsql {SELECT rowid, a FROM t6 WHERE rowid<=-5.5 ORDER BY rowid DESC}} {-6 6 -7 7 -8 8}do_test rowid-10.41 {  execsql {SELECT rowid, a FROM t6 WHERE -5.5>=rowid}} {-8 8 -7 7 -6 6}do_test rowid-10.42 {  execsql {SELECT rowid, a FROM t6 WHERE -5.5>=rowid ORDER BY rowid DESC}} {-6 6 -7 7 -8 8}do_test rowid-10.43 {  execsql {SELECT rowid, a FROM t6 WHERE rowid<-5.5}} {-8 8 -7 7 -6 6}do_test rowid-10.44 {  execsql {SELECT rowid, a FROM t6 WHERE rowid<-5.5 ORDER BY rowid DESC}} {-6 6 -7 7 -8 8}do_test rowid-10.44 {  execsql {SELECT rowid, a FROM t6 WHERE -5.5>rowid}} {-8 8 -7 7 -6 6}do_test rowid-10.46 {  execsql {SELECT rowid, a FROM t6 WHERE -5.5>rowid ORDER BY rowid DESC}} {-6 6 -7 7 -8 8}# Comparison of rowid against string values.#do_test rowid-11.1 {  execsql {SELECT rowid, a FROM t5 WHERE rowid>'abc'}} {}do_test rowid-11.2 {  execsql {SELECT rowid, a FROM t5 WHERE rowid>='abc'}} {}do_test rowid-11.3 {  execsql {SELECT rowid, a FROM t5 WHERE rowid<'abc'}} {1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8}do_test rowid-11.4 {  execsql {SELECT rowid, a FROM t5 WHERE rowid<='abc'}} {1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8}# Test the automatic generation of rowids when the table already contains# a rowid with the maximum value.#do_test rowid-12.1 {  execsql {    CREATE TABLE t7(x INTEGER PRIMARY KEY, y);    INSERT INTO t7 VALUES(9223372036854775807,'a');    SELECT y FROM t7;  }} {a}do_test rowid-12.2 {  execsql {    INSERT INTO t7 VALUES(NULL,'b');    SELECT y FROM t7;  }} {b a}finish_test

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -