亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? autoinc.test

?? sqlite庫
?? TEST
字號:
# 2004 November 12## The author disclaims copyright to this source code.  In place of# a legal notice, here is a blessing:##    May you do good and not evil.#    May you find forgiveness for yourself and forgive others.#    May you share freely, never taking more than you give.##*************************************************************************# This file implements regression tests for SQLite library.  The# focus of this script is testing the AUTOINCREMENT features.## $Id: autoinc.test,v 1.9 2006/01/03 00:33:50 drh Exp $#set testdir [file dirname $argv0]source $testdir/tester.tcl# If the library is not compiled with autoincrement support then# skip all tests in this file.#ifcapable {!autoinc} {  finish_test  return}# The database is initially empty.#do_test autoinc-1.1 {  execsql {    SELECT name FROM sqlite_master WHERE type='table';  }} {}# Add a table with the AUTOINCREMENT feature.  Verify that the# SQLITE_SEQUENCE table gets created.#do_test autoinc-1.2 {  execsql {    CREATE TABLE t1(x INTEGER PRIMARY KEY AUTOINCREMENT, y);    SELECT name FROM sqlite_master WHERE type='table';  }} {t1 sqlite_sequence}# The SQLITE_SEQUENCE table is initially empty#do_test autoinc-1.3 {  execsql {    SELECT * FROM sqlite_sequence;  }} {}# Close and reopen the database.  Verify that everything is still there.#do_test autoinc-1.4 {  db close  sqlite3 db test.db  execsql {    SELECT * FROM sqlite_sequence;  }} {}# We are not allowed to drop the sqlite_sequence table.#do_test autoinc-1.5 {  catchsql {DROP TABLE sqlite_sequence}} {1 {table sqlite_sequence may not be dropped}}do_test autoinc-1.6 {  execsql {SELECT name FROM sqlite_master WHERE type='table'}} {t1 sqlite_sequence}# Insert an entries into the t1 table and make sure the largest key# is always recorded in the sqlite_sequence table.#do_test autoinc-2.1 {  execsql {    SELECT * FROM sqlite_sequence  }} {}do_test autoinc-2.2 {  execsql {    INSERT INTO t1 VALUES(12,34);    SELECT * FROM sqlite_sequence;  }} {t1 12}do_test autoinc-2.3 {  execsql {    INSERT INTO t1 VALUES(1,23);    SELECT * FROM sqlite_sequence;  }} {t1 12}do_test autoinc-2.4 {  execsql {    INSERT INTO t1 VALUES(123,456);    SELECT * FROM sqlite_sequence;  }} {t1 123}do_test autoinc-2.5 {  execsql {    INSERT INTO t1 VALUES(NULL,567);    SELECT * FROM sqlite_sequence;  }} {t1 124}do_test autoinc-2.6 {  execsql {    DELETE FROM t1 WHERE y=567;    SELECT * FROM sqlite_sequence;  }} {t1 124}do_test autoinc-2.7 {  execsql {    INSERT INTO t1 VALUES(NULL,567);    SELECT * FROM sqlite_sequence;  }} {t1 125}do_test autoinc-2.8 {  execsql {    DELETE FROM t1;    SELECT * FROM sqlite_sequence;  }} {t1 125}do_test autoinc-2.9 {  execsql {    INSERT INTO t1 VALUES(12,34);    SELECT * FROM sqlite_sequence;  }} {t1 125}do_test autoinc-2.10 {  execsql {    INSERT INTO t1 VALUES(125,456);    SELECT * FROM sqlite_sequence;  }} {t1 125}do_test autoinc-2.11 {  execsql {    INSERT INTO t1 VALUES(-1234567,-1);    SELECT * FROM sqlite_sequence;  }} {t1 125}do_test autoinc-2.12 {  execsql {    INSERT INTO t1 VALUES(234,5678);    SELECT * FROM sqlite_sequence;  }} {t1 234}do_test autoinc-2.13 {  execsql {    DELETE FROM t1;    INSERT INTO t1 VALUES(NULL,1);    SELECT * FROM sqlite_sequence;  }} {t1 235}do_test autoinc-2.14 {  execsql {    SELECT * FROM t1;  }} {235 1}# Manually change the autoincrement values in sqlite_sequence.#do_test autoinc-2.20 {  execsql {    UPDATE sqlite_sequence SET seq=1234 WHERE name='t1';    INSERT INTO t1 VALUES(NULL,2);    SELECT * FROM t1;  }} {235 1 1235 2}do_test autoinc-2.21 {  execsql {    SELECT * FROM sqlite_sequence;  }} {t1 1235}do_test autoinc-2.22 {  execsql {    UPDATE sqlite_sequence SET seq=NULL WHERE name='t1';    INSERT INTO t1 VALUES(NULL,3);    SELECT * FROM t1;  }} {235 1 1235 2 1236 3}do_test autoinc-2.23 {  execsql {    SELECT * FROM sqlite_sequence;  }} {t1 1236}do_test autoinc-2.24 {  execsql {    UPDATE sqlite_sequence SET seq='a-string' WHERE name='t1';    INSERT INTO t1 VALUES(NULL,4);    SELECT * FROM t1;  }} {235 1 1235 2 1236 3 1237 4}do_test autoinc-2.25 {  execsql {    SELECT * FROM sqlite_sequence;  }} {t1 1237}do_test autoinc-2.26 {  execsql {    DELETE FROM sqlite_sequence WHERE name='t1';    INSERT INTO t1 VALUES(NULL,5);    SELECT * FROM t1;  }} {235 1 1235 2 1236 3 1237 4 1238 5}do_test autoinc-2.27 {  execsql {    SELECT * FROM sqlite_sequence;  }} {t1 1238}do_test autoinc-2.28 {  execsql {    UPDATE sqlite_sequence SET seq='12345678901234567890'      WHERE name='t1';    INSERT INTO t1 VALUES(NULL,6);    SELECT * FROM t1;  }} {235 1 1235 2 1236 3 1237 4 1238 5 1239 6}do_test autoinc-2.29 {  execsql {    SELECT * FROM sqlite_sequence;  }} {t1 1239}# Test multi-row inserts#do_test autoinc-2.50 {  execsql {    DELETE FROM t1 WHERE y>=3;    INSERT INTO t1 SELECT NULL, y+2 FROM t1;    SELECT * FROM t1;  }} {235 1 1235 2 1240 3 1241 4}do_test autoinc-2.51 {  execsql {    SELECT * FROM sqlite_sequence  }} {t1 1241}ifcapable tempdb {  do_test autoinc-2.52 {    execsql {      CREATE TEMP TABLE t2 AS SELECT y FROM t1;      INSERT INTO t1 SELECT NULL, y+4 FROM t2;      SELECT * FROM t1;    }  } {235 1 1235 2 1240 3 1241 4 1242 5 1243 6 1244 7 1245 8}  do_test autoinc-2.53 {    execsql {      SELECT * FROM sqlite_sequence    }  } {t1 1245}  do_test autoinc-2.54 {    execsql {      DELETE FROM t1;      INSERT INTO t1 SELECT NULL, y FROM t2;      SELECT * FROM t1;    }  } {1246 1 1247 2 1248 3 1249 4}  do_test autoinc-2.55 {    execsql {      SELECT * FROM sqlite_sequence    }  } {t1 1249}}# Create multiple AUTOINCREMENT tables.  Make sure all sequences are# tracked separately and do not interfere with one another.#do_test autoinc-2.70 {  catchsql {    DROP TABLE t2;  }  execsql {    CREATE TABLE t2(d, e INTEGER PRIMARY KEY AUTOINCREMENT, f);    INSERT INTO t2(d) VALUES(1);    SELECT * FROM sqlite_sequence;  }} [ifcapable tempdb {list t1 1249 t2 1} else {list t1 1241 t2 1}]do_test autoinc-2.71 {  execsql {    INSERT INTO t2(d) VALUES(2);    SELECT * FROM sqlite_sequence;  }} [ifcapable tempdb {list t1 1249 t2 2} else {list t1 1241 t2 2}]do_test autoinc-2.72 {  execsql {    INSERT INTO t1(x) VALUES(10000);    SELECT * FROM sqlite_sequence;  }} {t1 10000 t2 2}do_test autoinc-2.73 {  execsql {    CREATE TABLE t3(g INTEGER PRIMARY KEY AUTOINCREMENT, h);    INSERT INTO t3(h) VALUES(1);    SELECT * FROM sqlite_sequence;  }} {t1 10000 t2 2 t3 1}do_test autoinc-2.74 {  execsql {    INSERT INTO t2(d,e) VALUES(3,100);    SELECT * FROM sqlite_sequence;  }} {t1 10000 t2 100 t3 1}# When a table with an AUTOINCREMENT is deleted, the corresponding entry# in the SQLITE_SEQUENCE table should also be deleted.  But the SQLITE_SEQUENCE# table itself should remain behind.#do_test autoinc-3.1 {  execsql {SELECT name FROM sqlite_sequence}} {t1 t2 t3}do_test autoinc-3.2 {  execsql {    DROP TABLE t1;    SELECT name FROM sqlite_sequence;  }} {t2 t3}do_test autoinc-3.3 {  execsql {    DROP TABLE t3;    SELECT name FROM sqlite_sequence;  }} {t2}do_test autoinc-3.4 {  execsql {    DROP TABLE t2;    SELECT name FROM sqlite_sequence;  }} {}# AUTOINCREMENT on TEMP tables.#ifcapable tempdb {  do_test autoinc-4.1 {    execsql {      SELECT 1, name FROM sqlite_master WHERE type='table';      SELECT 2, name FROM sqlite_temp_master WHERE type='table';    }  } {1 sqlite_sequence}  do_test autoinc-4.2 {    execsql {      CREATE TABLE t1(x INTEGER PRIMARY KEY AUTOINCREMENT, y);      CREATE TEMP TABLE t3(a INTEGER PRIMARY KEY AUTOINCREMENT, b);      SELECT 1, name FROM sqlite_master WHERE type='table';      SELECT 2, name FROM sqlite_temp_master WHERE type='table';    }  } {1 sqlite_sequence 1 t1 2 t3 2 sqlite_sequence}  do_test autoinc-4.3 {    execsql {      SELECT 1, * FROM main.sqlite_sequence;      SELECT 2, * FROM temp.sqlite_sequence;    }  } {}  do_test autoinc-4.4 {    execsql {      INSERT INTO t1 VALUES(10,1);      INSERT INTO t3 VALUES(20,2);      INSERT INTO t1 VALUES(NULL,3);      INSERT INTO t3 VALUES(NULL,4);    }  } {}    ifcapable compound {  do_test autoinc-4.4.1 {    execsql {      SELECT * FROM t1 UNION ALL SELECT * FROM t3;    }  } {10 1 11 3 20 2 21 4}  } ;# ifcapable compound    do_test autoinc-4.5 {    execsql {      SELECT 1, * FROM main.sqlite_sequence;      SELECT 2, * FROM temp.sqlite_sequence;    }  } {1 t1 11 2 t3 21}  do_test autoinc-4.6 {    execsql {      INSERT INTO t1 SELECT * FROM t3;      SELECT 1, * FROM main.sqlite_sequence;      SELECT 2, * FROM temp.sqlite_sequence;    }  } {1 t1 21 2 t3 21}  do_test autoinc-4.7 {    execsql {      INSERT INTO t3 SELECT x+100, y  FROM t1;      SELECT 1, * FROM main.sqlite_sequence;      SELECT 2, * FROM temp.sqlite_sequence;    }  } {1 t1 21 2 t3 121}  do_test autoinc-4.8 {    execsql {      DROP TABLE t3;      SELECT 1, * FROM main.sqlite_sequence;      SELECT 2, * FROM temp.sqlite_sequence;    }  } {1 t1 21}  do_test autoinc-4.9 {    execsql {      CREATE TEMP TABLE t2(p INTEGER PRIMARY KEY AUTOINCREMENT, q);      INSERT INTO t2 SELECT * FROM t1;      DROP TABLE t1;      SELECT 1, * FROM main.sqlite_sequence;      SELECT 2, * FROM temp.sqlite_sequence;    }  } {2 t2 21}  do_test autoinc-4.10 {    execsql {      DROP TABLE t2;      SELECT 1, * FROM main.sqlite_sequence;      SELECT 2, * FROM temp.sqlite_sequence;    }  } {}}# Make sure AUTOINCREMENT works on ATTACH-ed tables.#ifcapable tempdb {  do_test autoinc-5.1 {    file delete -force test2.db    file delete -force test2.db-journal    sqlite3 db2 test2.db    execsql {      CREATE TABLE t4(m INTEGER PRIMARY KEY AUTOINCREMENT, n);      CREATE TABLE t5(o, p INTEGER PRIMARY KEY AUTOINCREMENT);    } db2;    execsql {      ATTACH 'test2.db' as aux;      SELECT 1, * FROM main.sqlite_sequence;      SELECT 2, * FROM temp.sqlite_sequence;      SELECT 3, * FROM aux.sqlite_sequence;    }  } {}  do_test autoinc-5.2 {    execsql {      INSERT INTO t4 VALUES(NULL,1);      SELECT 1, * FROM main.sqlite_sequence;      SELECT 2, * FROM temp.sqlite_sequence;      SELECT 3, * FROM aux.sqlite_sequence;    }  } {3 t4 1}  do_test autoinc-5.3 {    execsql {      INSERT INTO t5 VALUES(100,200);      SELECT * FROM sqlite_sequence    } db2  } {t4 1 t5 200}  do_test autoinc-5.4 {    execsql {      SELECT 1, * FROM main.sqlite_sequence;      SELECT 2, * FROM temp.sqlite_sequence;      SELECT 3, * FROM aux.sqlite_sequence;    }  } {3 t4 1 3 t5 200}}# Requirement REQ00310:  Make sure an insert fails if the sequence is# already at its maximum value.#ifcapable {rowid32} {  do_test autoinc-6.1 {    execsql {      CREATE TABLE t6(v INTEGER PRIMARY KEY AUTOINCREMENT, w);      INSERT INTO t6 VALUES(2147483647,1);      SELECT seq FROM main.sqlite_sequence WHERE name='t6';    }  } 2147483647}ifcapable {!rowid32} {  do_test autoinc-6.1 {    execsql {      CREATE TABLE t6(v INTEGER PRIMARY KEY AUTOINCREMENT, w);      INSERT INTO t6 VALUES(9223372036854775807,1);      SELECT seq FROM main.sqlite_sequence WHERE name='t6';    }  } 9223372036854775807}do_test autoinc-6.2 {  catchsql {    INSERT INTO t6 VALUES(NULL,1);  }} {1 {database or disk is full}}# Allow the AUTOINCREMENT keyword inside the parentheses# on a separate PRIMARY KEY designation.#do_test autoinc-7.1 {  execsql {    CREATE TABLE t7(x INTEGER, y REAL, PRIMARY KEY(x AUTOINCREMENT));    INSERT INTO t7(y) VALUES(123);    INSERT INTO t7(y) VALUES(234);    DELETE FROM t7;    INSERT INTO t7(y) VALUES(345);    SELECT * FROM t7;  }} {3 345.0}# Test that if the AUTOINCREMENT is applied to a non integer primary key# the error message is sensible.do_test autoinc-7.2 {  catchsql {    CREATE TABLE t8(x TEXT PRIMARY KEY AUTOINCREMENT);  }} {1 {AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY}}# Ticket #1283.  Make sure that preparing but never running a statement# that creates the sqlite_sequence table does not mess up the database.#do_test autoinc-8.1 {  catch {db2 close}  catch {db close}  file delete -force test.db  sqlite3 db test.db  set DB [sqlite3_connection_pointer db]  set STMT [sqlite3_prepare $DB {     CREATE TABLE t1(       x INTEGER PRIMARY KEY AUTOINCREMENT     )  } -1 TAIL]  sqlite3_finalize $STMT  set STMT [sqlite3_prepare $DB {     CREATE TABLE t1(       x INTEGER PRIMARY KEY AUTOINCREMENT     )  } -1 TAIL]  sqlite3_step $STMT  sqlite3_finalize $STMT  execsql {    INSERT INTO t1 VALUES(NULL);    SELECT * FROM t1;  }} {1}finish_test

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品在线观看视频| 国产日韩欧美精品电影三级在线| 精品欧美一区二区久久| 中文无字幕一区二区三区| 国产精品亲子乱子伦xxxx裸| 亚洲精品第一国产综合野| 免费成人在线播放| www.亚洲人| 国产欧美日韩三级| 亚洲夂夂婷婷色拍ww47| av中文字幕一区| 波多野结衣一区二区三区| 亚洲午夜激情网站| 国产激情一区二区三区桃花岛亚洲| 日韩一级片在线观看| 豆国产96在线|亚洲| 麻豆一区二区三| 色婷婷国产精品综合在线观看| 精品美女一区二区三区| 亚洲自拍与偷拍| 国产一区二区视频在线播放| 欧美一区二区三区四区五区| 欧美激情综合五月色丁香| 日本视频中文字幕一区二区三区| 不卡一区二区三区四区| 国产欧美综合在线观看第十页| 日本视频一区二区三区| 欧美精品久久99久久在免费线 | 国产精品久线观看视频| 久久国产精品99久久人人澡| 欧美怡红院视频| 日韩伦理av电影| 精品一区二区久久| 精品剧情在线观看| 日韩成人免费在线| 欧美在线看片a免费观看| 国产精品久久久久久福利一牛影视 | 免费在线欧美视频| 精品视频1区2区3区| 一区二区在线看| 国产一区二区不卡| 国产无一区二区| 久久超碰97中文字幕| 欧美人狂配大交3d怪物一区| 亚洲精品久久久蜜桃| heyzo一本久久综合| 日韩一区二区三区视频在线观看| 日本视频中文字幕一区二区三区| 欧美乱妇15p| 亚洲一本大道在线| 在线观看亚洲精品视频| 亚洲女同一区二区| 91浏览器打开| 国产精品三级视频| 久久亚洲一区二区三区四区| 亚洲精品精品亚洲| 欧美色图天堂网| 石原莉奈在线亚洲二区| 欧美一区二区福利在线| 久久爱另类一区二区小说| 久久综合久久综合久久综合| 粉嫩一区二区三区性色av| 综合av第一页| 欧美日韩高清一区二区| 极品尤物av久久免费看| 欧美激情一区不卡| 欧美最新大片在线看| 日产欧产美韩系列久久99| 精品国免费一区二区三区| 成人精品视频网站| 亚洲一区二三区| 欧美一区二区福利视频| 国产99精品国产| 亚洲综合精品自拍| 秋霞成人午夜伦在线观看| 久久影视一区二区| 日韩女优制服丝袜电影| 欧美挠脚心视频网站| 91福利视频在线| 99视频超级精品| 韩国欧美国产一区| 蜜臀av亚洲一区中文字幕| 亚洲va欧美va国产va天堂影院| 国产精品网站在线播放| 国产欧美精品一区二区色综合朱莉| 日韩欧美中文一区二区| 欧美精品在线一区二区三区| 欧美在线不卡视频| 在线视频一区二区三区| 在线成人免费观看| 678五月天丁香亚洲综合网| 久久午夜老司机| 国产精品美女久久久久aⅴ | 国产精品每日更新在线播放网址| 95精品视频在线| 成人免费视频一区二区| 7777精品伊人久久久大香线蕉经典版下载 | 久久久av毛片精品| 9人人澡人人爽人人精品| 亚洲国产日韩a在线播放 | 99re视频精品| 久色婷婷小香蕉久久| 国产精品久久精品日日| 91麻豆精品国产91久久久资源速度| 国产成人自拍在线| 亚洲福利一二三区| 国产欧美精品在线观看| 538在线一区二区精品国产| 成人精品视频网站| 久久精品999| 亚洲免费av在线| 久久久久久99精品| 91精品国产综合久久小美女| 99久久久久免费精品国产 | 夜夜亚洲天天久久| 国产欧美日韩精品一区| 日韩亚洲电影在线| 91福利在线观看| 成人的网站免费观看| 久久se这里有精品| 亚洲妇熟xx妇色黄| 五月开心婷婷久久| 综合久久久久综合| 久久天堂av综合合色蜜桃网| 欧美日韩一区二区在线视频| 成人久久18免费网站麻豆| 精品无人码麻豆乱码1区2区 | 日本成人在线视频网站| 亚洲精品视频在线观看免费| 国产欧美日本一区视频| 精品国产一区二区三区久久久蜜月 | 91丝袜美女网| 国产麻豆视频一区| 久久99国产精品久久99| 日韩和欧美的一区| 亚洲一区二区偷拍精品| 亚洲欧美激情视频在线观看一区二区三区| 26uuu精品一区二区在线观看| 日韩一区二区在线观看视频播放| 欧美日韩国产一级二级| 在线视频欧美区| 91猫先生在线| 91在线porny国产在线看| 风间由美一区二区av101| 国产剧情一区在线| 国产真实乱对白精彩久久| 麻豆freexxxx性91精品| 青椒成人免费视频| 日韩美女精品在线| 一本色道久久综合亚洲91| 国产亲近乱来精品视频| 国产精品资源站在线| 久久综合九色综合97婷婷| 日产欧产美韩系列久久99| 欧美日本免费一区二区三区| 亚洲国产日韩a在线播放性色| 欧美午夜电影网| 日产国产欧美视频一区精品| 91精品国产欧美一区二区成人| 三级成人在线视频| 日韩三级高清在线| 国内精品国产成人| 日本一区二区在线不卡| 99re视频这里只有精品| 性做久久久久久免费观看| 欧美精品粉嫩高潮一区二区| 免费在线视频一区| 亚洲欧洲日产国产综合网| 91精品国产综合久久精品| 色老头久久综合| 成人午夜视频在线| 国内外成人在线视频| 99视频在线精品| 一区二区三区在线影院| 欧美一区中文字幕| 92国产精品观看| 欧美影院一区二区| 欧美电影免费观看高清完整版在线观看| 99精品欧美一区二区蜜桃免费| 国产一区在线不卡| 顶级嫩模精品视频在线看| 99久久综合99久久综合网站| 色婷婷综合久色| 欧美高清视频一二三区| 精品少妇一区二区三区日产乱码 | 精品一区二区三区在线视频| 国产一区二区女| 成人h动漫精品一区二区| 在线看不卡av| 日韩精品一区二区三区在线播放| 久久一夜天堂av一区二区三区| 中文天堂在线一区| 亚洲图片有声小说| 精品中文字幕一区二区| 成人涩涩免费视频| 欧美色精品在线视频| 欧美变态tickle挠乳网站| 国产精品三级电影| 偷偷要91色婷婷| 国产成人精品免费视频网站|