
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
	<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head><card id="MainCard" title="&#x6B22;&#x8FCE;&#x5149;&#x4E34;"><p><a href="wap.asp">&#x6728;&#x5B50;&#x5C4B;</a><br/>&nbsp;</p><p><b>&#x6807;&#x9898;&#x3A;</b> &#x53;&#x51;&#x4C;&#x69;&#x74;&#x65;&#x5E38;&#x89C1;&#x95EE;&#x9898;&#x89E3;&#x7B54;</p><p><b>&#x4F5C;&#x8005;&#x3A;</b> &#x64;&#x6E;&#x61;&#x77;&#x6F;</p><p><b>&#x65E5;&#x671F;&#x3A;</b> &#x32;&#x30;&#x30;&#x38;&#x2D;&#x30;&#x33;&#x2D;&#x31;&#x38;&#x20;&#x30;&#x39;&#x3A;&#x32;&#x34;&#x20;&#x41;&#x4D;</p><p><b>&#x5206;&#x7C7B;&#x3A;</b> <a href="wap.asp?do=showLog&amp;cateID=2">&#x5176;&#x4ED6;</a></p><p><b>&#x5185;&#x5BB9;&#x3A;</b> (1) &#x5982;&#x4F55;&#x5EFA;&#x7ACB;&#x81EA;&#x52A8;&#x589E;&#x957F;&#x5B57;&#x6BB5;&#xFF1F;<br/>&#x7B80;&#x77ED;&#x56DE;&#x7B54;&#xFF1A;&#x58F0;&#x660E;&#x4E3A; INTEGER PRIMARY KEY &#x7684;&#x5217;&#x5C06;&#x4F1A;&#x81EA;&#x52A8;&#x589E;&#x957F;&#x3002;<br/>&#x957F;&#x4E00;&#x70B9;&#x7684;&#x7B54;&#x6848;&#xFF1A; &#x5982;&#x679C;&#x4F60;&#x58F0;&#x660E;&#x8868;&#x7684;&#x4E00;&#x5217;&#x4E3A; INTEGER PRIMARY KEY&#xFF0C;&#x90A3;&#x4E48;&#xFF0C; &#x6BCF;&#x5F53;&#x4F60;&#x5728;&#x8BE5;&#x5217;&#x4E0A;&#x63D2;&#x5165;&#x4E00;NULL&#x503C;&#x65F6;&#xFF0C; NULL&#x81EA;&#x52A8;&#x88AB;&#x8F6C;&#x6362;&#x4E3A;&#x4E00;&#x4E2A;&#x6BD4;&#x8BE5;&#x5217;&#x4E2D;&#x6700;&#x5927;&#x503C;&#x5927;1&#x7684;&#x4E00;&#x4E2A;&#x6574;&#x6570;&#xFF0C;&#x5982;&#x679C;&#x8868;&#x662F;&#x7A7A;&#x7684;&#xFF0C; &#x5C06;&#x4F1A;&#x662F;1&#x3002; (&#x5982;&#x679C;&#x662F;&#x6700;&#x5927;&#x53EF;&#x80FD;&#x7684;&#x4E3B;&#x952E; 9223372036854775807&#xFF0C;&#x90A3;&#x4E2A;&#xFF0C;&#x5C06;&#x952E;&#x503C;&#x5C06;&#x662F;&#x968F;&#x673A;&#x672A;&#x4F7F;&#x7528;&#x7684;&#x6570;&#x3002;&#xFF09; &#x5982;&#xFF0C;&#x6709;&#x4E0B;&#x5217;&#x8868;&#xFF1A; <br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;Cr&#101;ate TABLE t1(<br/>&nbsp;&nbsp;a INTEGER PRIMARY KEY,<br/>&nbsp;&nbsp;b INTEGER<br/>);<br/>&#x5728;&#x8BE5;&#x8868;&#x4E0A;&#xFF0C;&#x4E0B;&#x5217;&#x8BED;&#x53E5;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;Ins&#101;rt INTO t1 VALUES(NULL,123);<br/>&#x5728;&#x903B;&#x8F91;&#x4E0A;&#x7B49;&#x4EF7;&#x4E8E;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;Ins&#101;rt INTO t1 VALUES((Sel&#101;ct max(a) FROM t1)+1,123);<br/>&#x6709;&#x4E00;&#x4E2A;&#x65B0;&#x7684;API&#x53EB;&#x505A; sqlite3_last_ins&#101;rt_rowid()&#xFF0C; &#x5B83;&#x5C06;&#x8FD4;&#x56DE;&#x6700;&#x8FD1;&#x63D2;&#x5165;&#x7684;&#x6574;&#x6570;&#x503C;&#x3002; <br/>&#x6CE8;&#x610F;&#x8BE5;&#x6574;&#x6570;&#x4F1A;&#x6BD4;&#x8868;&#x4E2D;&#x8BE5;&#x5217;&#x4E0A;&#x7684;&#x63D2;&#x5165;&#x4E4B;&#x524D;&#x7684;&#x6700;&#x5927;&#x503C;&#x5927;1&#x3002; &#x8BE5;&#x952E;&#x503C;&#x5728;&#x5F53;&#x524D;&#x7684;&#x8868;&#x4E2D;&#x662F;&#x552F;&#x4E00;&#x7684;&#x3002;&#x4F46;&#x6709;&#x53EF;&#x80FD;&#x4E0E;&#x5DF2;&#x4ECE;&#x8868;&#x4E2D;&#x5220;&#x9664;&#x7684;&#x503C;&#x91CD;&#x53E0;&#x3002; &#x8981;&#x60F3;&#x5EFA;&#x7ACB;&#x5728;&#x6574;&#x4E2A;&#x8868;&#x7684;&#x751F;&#x547D;&#x5468;&#x671F;&#x4E2D;&#x552F;&#x4E00;&#x7684;&#x952E;&#x503C;&#xFF0C;&#x9700;&#x8981;&#x5728; INTEGER PRIMARY KEY &#x4E0A;&#x589E;&#x52A0;AUTOINCREMENT&#x58F0;&#x660E;&#x3002;&#x90A3;&#x4E48;&#xFF0C;&#x65B0;&#x7684;&#x952E;&#x503C;&#x5C06;&#x4F1A;&#x6BD4;&#x8BE5;&#x8868;&#x4E2D;&#x66FE;&#x80FD;&#x5B58;&#x5728;&#x8FC7;&#x7684;&#x6700;&#x5927;&#x503C;&#x5927;1&#x3002; &#x5982;&#x679C;&#x6700;&#x5927;&#x53EF;&#x80FD;&#x7684;&#x6574;&#x6570;&#x503C;&#x5728;&#x6570;&#x636E;&#x8868;&#x4E2D;&#x66FE;&#x7ECF;&#x5B58;&#x5728;&#x8FC7;&#xFF0C;Ins&#101;rt&#x5C06;&#x4F1A;&#x5931;&#x8D25;&#xFF0C; &#x5E76;&#x8FD4;&#x56DE;SQLITE_FULL&#x9519;&#x8BEF;&#x4EE3;&#x7801;&#x3002; <br/>--------------------------------------------------------------------------------<br/>(2)SQLite&#x652F;&#x6301;&#x4F55;&#x79CD;&#x6570;&#x636E;&#x7C7B;&#x578B;&#xFF1F;<br/>&#x53C2;&#x89C1; http://www.sqlite.org/datatype3.html.<br/>--------------------------------------------------------------------------------<br/>(3)SQLite&#x5141;&#x8BB8;&#x5411;&#x4E00;&#x4E2A;integer&#x578B;&#x5B57;&#x6BB5;&#x4E2D;&#x63D2;&#x5165;&#x5B57;&#x7B26;&#x4E32;&#xFF01; <br/>&#x8FD9;&#x662F;&#x4E00;&#x4E2A;&#x7279;&#x6027;&#xFF0C;&#x800C;&#x4E0D;&#x662F;&#x4E00;&#x4E2A;bug&#x3002;SQLite&#x4E0D;&#x5F3A;&#x5236;&#x6570;&#x636E;&#x7C7B;&#x578B;&#x7EA6;&#x675F;&#x3002; &#x4EFB;&#x4F55;&#x6570;&#x636E;&#x90FD;&#x53EF;&#x4EE5;&#x63D2;&#x5165;&#x4EFB;&#x4F55;&#x5217;&#x3002;&#x4F60;&#x53EF;&#x4EE5;&#x5411;&#x4E00;&#x4E2A;&#x6574;&#x578B;&#x5217;&#x4E2D;&#x63D2;&#x5165;&#x4EFB;&#x610F;&#x957F;&#x5EA6;&#x7684;&#x5B57;&#x7B26;&#x4E32;&#xFF0C; &#x5411;&#x5E03;&#x5C14;&#x578B;&#x5217;&#x4E2D;&#x63D2;&#x5165;&#x6D6E;&#x70B9;&#x6570;&#xFF0C;&#x6216;&#x8005;&#x5411;&#x5B57;&#x7B26;&#x578B;&#x5217;&#x4E2D;&#x63D2;&#x5165;&#x65E5;&#x671F;&#x578B;&#x503C;&#x3002; &#x5728; Cr&#101;ate TABLE &#x4E2D;&#x6240;&#x6307;&#x5B9A;&#x7684;&#x6570;&#x636E;&#x7C7B;&#x578B;&#x4E0D;&#x4F1A;&#x9650;&#x5236;&#x5728;&#x8BE5;&#x5217;&#x4E2D;&#x63D2;&#x5165;&#x4EFB;&#x4F55;&#x6570;&#x636E;&#x3002; &#x4EFB;&#x4F55;&#x5217;&#x5747;&#x53EF;&#x63A5;&#x53D7;&#x4EFB;&#x610F;&#x957F;&#x5EA6;&#x7684;&#x5B57;&#x7B26;&#x4E32;&#xFF08;&#x53EA;&#x6709;&#x4E00;&#x79CD;&#x60C5;&#x51B5;&#x9664;&#x5916;&#xFF1A; &#x6807;&#x5FD7;&#x4E3A;INTEGER PRIMARY KEY&#x7684;&#x5217;&#x53EA;&#x80FD;&#x5B58;&#x50A8;64&#x4F4D;&#x6574;&#x6570;&#xFF0C; &#x5F53;&#x5411;&#x8FD9;&#x79CD;&#x5217;&#x4E2D;&#x63D2;&#x6570;&#x636E;&#x9664;&#x6574;&#x6570;&#x4EE5;&#x5916;&#x7684;&#x6570;&#x636E;&#x65F6;&#xFF0C;&#x5C06;&#x4F1A;&#x4EA7;&#x751F;&#x9519;&#x8BEF;&#x3002; <br/>&#x4F46;SQLite&#x786E;&#x5B9E;&#x4F7F;&#x7528;&#x58F0;&#x660E;&#x7684;&#x5217;&#x7C7B;&#x578B;&#x6765;&#x6307;&#x793A;&#x4F60;&#x6240;&#x671F;&#x671B;&#x7684;&#x683C;&#x5F0F;&#x3002;&#x6240;&#x4EE5;&#xFF0C; &#x4F8B;&#x5982;&#x4F60;&#x5411;&#x4E00;&#x4E2A;&#x6574;&#x578B;&#x5217;&#x4E2D;&#x63D2;&#x5165;&#x5B57;&#x7B26;&#x4E32;&#x65F6;&#xFF0C;SQLite&#x4F1A;&#x8BD5;&#x56FE;&#x5C06;&#x8BE5;&#x5B57;&#x7B26;&#x4E32;&#x8F6C;&#x6362;&#x6210;&#x4E00;&#x4E2A;&#x6574;&#x6570;&#x3002; &#x5982;&#x679C;&#x53EF;&#x4EE5;&#x8F6C;&#x6362;&#xFF0C;&#x5B83;&#x5C06;&#x63D2;&#x5165;&#x8BE5;&#x6574;&#x6570;&#xFF1B;&#x5426;&#x5219;&#xFF0C;&#x5C06;&#x63D2;&#x5165;&#x5B57;&#x7B26;&#x4E32;&#x3002; &#x8FD9;&#x79CD;&#x7279;&#x6027;&#x6709;&#x65F6;&#x88AB;&#x79F0;&#x4E3A; &#x7C7B;&#x578B;&#x6216;&#x5217;&#x4EB2;&#x548C;&#x6027;(type o&#114; column affinity). <br/>--------------------------------------------------------------------------------<br/>(4)&#x4E3A;&#x4EC0;&#x4E48;SQLite&#x4E0D;&#x5141;&#x8BB8;&#x5728;&#x540C;&#x4E00;&#x4E2A;&#x8868;&#x4E0D;&#x540C;&#x7684;&#x4E24;&#x884C;&#x4E0A;&#x4F7F;&#x7528;0&#x548C;0.0&#x4F5C;&#x4E3B;&#x952E;&#xFF1F; <br/>&#x4E3B;&#x952E;&#x5FC5;&#x987B;&#x662F;&#x6570;&#x503C;&#x7C7B;&#x578B;&#xFF0C;&#x5C06;&#x4E3B;&#x952E;&#x6539;&#x4E3A;TEXT&#x578B;&#x5C06;&#x4E0D;&#x8D77;&#x4F5C;&#x7528;&#x3002;<br/>&#x6BCF;&#x4E00;&#x884C;&#x5FC5;&#x987B;&#x6709;&#x4E00;&#x4E2A;&#x552F;&#x4E00;&#x7684;&#x4E3B;&#x952E;&#x3002;&#x5BF9;&#x4E8E;&#x4E00;&#x4E2A;&#x6570;&#x503C;&#x578B;&#x5217;&#xFF0C; SQLite&#x8BA4;&#x4E3A; &#39;0&#39; &#x548C; &#39;0.0&#39; &#x662F;&#x76F8;&#x540C;&#x7684;&#xFF0C; &#x56E0;&#x4E3A;&#x4ED6;&#x4EEC;&#x5728;&#x4F5C;&#x4E3A;&#x6574;&#x6570;&#x6BD4;&#x8F83;&#x65F6;&#x662F;&#x76F8;&#x7B49;&#x7684;(&#x53C2;&#x89C1;&#x4E0A;&#x4E00;&#x95EE;&#x9898;)&#x3002; &#x6240;&#x4EE5;&#xFF0C;&#x8FD9;&#x6837;&#x503C;&#x5C31;&#x4E0D;&#x552F;&#x4E00;&#x4E86;&#x3002;<br/>--------------------------------------------------------------------------------<br/>(5)&#x591A;&#x4E2A;&#x5E94;&#x7528;&#x7A0B;&#x5E8F;&#x6216;&#x4E00;&#x4E2A;&#x5E94;&#x7528;&#x7A0B;&#x5E8F;&#x7684;&#x591A;&#x4E2A;&#x5B9E;&#x4F8B;&#x53EF;&#x4EE5;&#x540C;&#x65F6;&#x8BBF;&#x95EE;&#x540C;&#x4E00;&#x4E2A;&#x6570;&#x636E;&#x5E93;&#x6587;&#x4EF6;&#x5417;&#xFF1F; <br/>&#x591A;&#x4E2A;&#x8FDB;&#x7A0B;&#x53EF;&#x540C;&#x65F6;&#x6253;&#x5F00;&#x540C;&#x4E00;&#x4E2A;&#x6570;&#x636E;&#x5E93;&#x3002;&#x591A;&#x4E2A;&#x8FDB;&#x7A0B;&#x53EF;&#x4EE5;&#x540C;&#x65F6;&#x8FDB;&#x884C;Sel&#101;ct &#x64CD;&#x4F5C;&#xFF0C;&#x4F46;&#x5728;&#x4EFB;&#x4E00;&#x65F6;&#x523B;&#xFF0C;&#x53EA;&#x80FD;&#x6709;&#x4E00;&#x4E2A;&#x8FDB;&#x7A0B;&#x5BF9;&#x6570;&#x636E;&#x5E93;&#x8FDB;&#x884C;&#x66F4;&#x6539;&#x3002; <br/>SQLite&#x4F7F;&#x7528;&#x8BFB;&#x3001;&#x5199;&#x9501;&#x63A7;&#x5236;&#x5BF9;&#x6570;&#x636E;&#x5E93;&#x7684;&#x8BBF;&#x95EE;&#x3002;&#xFF08;&#x5728;Win95/98/ME&#x7B49;&#x4E0D;&#x652F;&#x6301;&#x8BFB;&#x3001; &#x5199;&#x9501;&#x7684;&#x7CFB;&#x7EDF;&#x4E0B;&#xFF0C;&#x4F7F;&#x7528;&#x4E00;&#x4E2A;&#x6982;&#x7387;&#x6027;&#x7684;&#x6A21;&#x62DF;&#x6765;&#x4EE3;&#x66FF;&#x3002;&#xFF09;&#x4F46;&#x4F7F;&#x7528;&#x65F6;&#x8981;&#x6CE8;&#x610F;&#xFF1A; &#x5982;&#x679C;&#x6570;&#x636E;&#x5E93;&#x6587;&#x4EF6;&#x5B58;&#x653E;&#x4E8E;&#x4E00;&#x4E2A;NFS&#x6587;&#x4EF6;&#x7CFB;&#x7EDF;&#x4E0A;&#xFF0C;&#x8FD9;&#x79CD;&#x9501;&#x673A;&#x5236;&#x53EF;&#x80FD;&#x4E0D;&#x80FD;&#x6B63;&#x5E38;&#x5DE5;&#x4F5C;&#x3002; &#x8FD9;&#x662F;&#x56E0;&#x4E3A; fcntl() &#x6587;&#x4EF6;&#x9501;&#x5728;&#x5F88;&#x591A;NFS&#x4E0A;&#x6CA1;&#x6709;&#x6B63;&#x786E;&#x7684;&#x5B9E;&#x73B0;&#x3002; &#x5728;&#x53EF;&#x80FD;&#x6709;&#x591A;&#x4E2A;&#x8FDB;&#x7A0B;&#x540C;&#x65F6;&#x8BBF;&#x95EE;&#x6570;&#x636E;&#x5E93;&#x7684;&#x65F6;&#x5019;&#xFF0C;&#x5E94;&#x8BE5;&#x907F;&#x514D;&#x5C06;&#x6570;&#x636E;&#x5E93;&#x6587;&#x4EF6;&#x653E;&#x5230;NFS&#x4E0A;&#x3002; &#x5728;Windows&#x4E0A;&#xFF0C;Microsoft&#x7684;&#x6587;&#x6863;&#x4E2D;&#x8BF4;&#xFF1A;&#x5982;&#x679C;&#x4F7F;&#x7528; FAT &#x6587;&#x4EF6;&#x7CFB;&#x7EDF;&#x800C;&#x6CA1;&#x6709;&#x8FD0;&#x884C; share.exe &#x5B88;&#x62A4;&#x8FDB;&#x7A0B;&#xFF0C;&#x90A3;&#x4E48;&#x9501;&#x53EF;&#x80FD;&#x662F;&#x4E0D;&#x80FD;&#x6B63;&#x5E38;&#x4F7F;&#x7528;&#x7684;&#x3002;&#x90A3;&#x4E9B;&#x5728;Windows&#x4E0A;&#x6709;&#x5F88;&#x591A;&#x7ECF;&#x9A8C;&#x7684;&#x4EBA;&#x544A;&#x8BC9;&#x6211;&#xFF1A; &#x5BF9;&#x4E8E;&#x7F51;&#x7EDC;&#x6587;&#x4EF6;&#xFF0C;&#x6587;&#x4EF6;&#x9501;&#x7684;&#x5B9E;&#x73B0;&#x6709;&#x597D;&#x591A;Bug&#xFF0C;&#x662F;&#x9760;&#x4E0D;&#x4F4F;&#x7684;&#x3002;&#x5982;&#x679C;&#x4ED6;&#x4EEC;&#x8BF4;&#x7684;&#x662F;&#x5BF9;&#x7684;&#xFF0C; &#x90A3;&#x4E48;&#x5728;&#x4E24;&#x53F0;&#x6216;&#x591A;&#x53F0;Windows&#x673A;&#x5668;&#x95F4;&#x5171;&#x4EAB;&#x6570;&#x636E;&#x5E93;&#x53EF;&#x80FD;&#x4F1A;&#x5F15;&#x8D77;&#x4E0D;&#x671F;&#x671B;&#x7684;&#x95EE;&#x9898;&#x3002; <br/>&#x6211;&#x4EEC;&#x610F;&#x8BC6;&#x5230;&#xFF0C;&#x6CA1;&#x6709;&#x5176;&#x5B83;&#x5D4C;&#x5165;&#x5F0F;&#x7684; SQL &#x6570;&#x636E;&#x5E93;&#x5F15;&#x64CE;&#x80FD;&#x8C61; SQLite &#x8FD9;&#x6837;&#x5904;&#x7406;&#x5982;&#x6B64;&#x591A;&#x7684;&#x5E76;&#x53D1;&#x3002;SQLite&#x5141;&#x8BB8;&#x591A;&#x4E2A;&#x8FDB;&#x7A0B;&#x540C;&#x65F6;&#x6253;&#x5F00;&#x4E00;&#x4E2A;&#x6570;&#x636E;&#x5E93;&#xFF0C; &#x540C;&#x65F6;&#x8BFB;&#x4E00;&#x4E2A;&#x6570;&#x636E;&#x5E93;&#x3002;&#x5F53;&#x6709;&#x4EFB;&#x4F55;&#x8FDB;&#x7A0B;&#x60F3;&#x8981;&#x5199;&#x65F6;&#xFF0C;&#x5B83;&#x5FC5;&#x987B;&#x5728;&#x66F4;&#x65B0;&#x8FC7;&#x7A0B;&#x4E2D;&#x9501;&#x4F4F;&#x6570;&#x636E;&#x5E93;&#x6587;&#x4EF6;&#x3002; &#x4F46;&#x90A3;&#x901A;&#x5E38;&#x53EA;&#x662F;&#x51E0;&#x6BEB;&#x79D2;&#x7684;&#x65F6;&#x95F4;&#x3002;&#x5176;&#x5B83;&#x8FDB;&#x7A0B;&#x53EA;&#x9700;&#x7B49;&#x5F85;&#x5199;&#x8FDB;&#x7A0B;&#x5E72;&#x5B8C;&#x6D3B;&#x7ED3;&#x675F;&#x3002; &#x5178;&#x578B;&#x5730;&#xFF0C;&#x5176;&#x5B83;&#x5D4C;&#x5165;&#x5F0F;&#x7684;SQL&#x6570;&#x636E;&#x5E93;&#x5F15;&#x64CE;&#x540C;&#x65F6;&#x53EA;&#x5141;&#x8BB8;&#x4E00;&#x4E2A;&#x8FDB;&#x7A0B;&#x8FDE;&#x63A5;&#x5230;&#x6570;&#x636E;&#x5E93;&#x3002; <br/>&#x4F46;&#x662F;&#xFF0C;Client/Server&#x6570;&#x636E;&#x5E93;&#x5F15;&#x64CE;&#xFF08;&#x5982; PostgreSQL, MySQL, &#x6216; o&#114;acle&#xFF09; &#x901A;&#x5E38;&#x652F;&#x6301;&#x66F4;&#x9AD8;&#x7EA7;&#x522B;&#x7684;&#x5E76;&#x53D1;&#xFF0C;&#x5E76;&#x4E14;&#x5141;&#x8BB8;&#x591A;&#x4E2A;&#x8FDB;&#x7A0B;&#x540C;&#x65F6;&#x5199;&#x540C;&#x4E00;&#x4E2A;&#x6570;&#x636E;&#x5E93;&#x3002; &#x8FD9;&#x79CD;&#x673A;&#x5236;&#x5728;Client/Server&#x7ED3;&#x6784;&#x7684;&#x6570;&#x636E;&#x5E93;&#x4E0A;&#x662F;&#x53EF;&#x80FD;&#x7684;&#xFF0C; &#x56E0;&#x4E3A;&#x603B;&#x662F;&#x6709;&#x4E00;&#x4E2A;&#x5355;&#x4E00;&#x7684;&#x670D;&#x52A1;&#x5668;&#x8FDB;&#x7A0B;&#x5F88;&#x597D;&#x5730;&#x63A7;&#x5236;&#x3001;&#x534F;&#x8C03;&#x5BF9;&#x6570;&#x636E;&#x5E93;&#x7684;&#x8BBF;&#x95EE;&#x3002; &#x5982;&#x679C;&#x4F60;&#x7684;&#x5E94;&#x7528;&#x7A0B;&#x5E8F;&#x9700;&#x8981;&#x5F88;&#x591A;&#x7684;&#x5E76;&#x53D1;&#xFF0C;&#x90A3;&#x4E48;&#x4F60;&#x5E94;&#x8BE5;&#x8003;&#x8651;&#x4F7F;&#x7528;&#x4E00;&#x4E2A;Client/Server &#x7ED3;&#x6784;&#x7684;&#x6570;&#x636E;&#x5E93;&#x3002;&#x4F46;&#x7ECF;&#x9A8C;&#x8868;&#x660E;&#xFF0C;&#x5F88;&#x591A;&#x5E94;&#x7528;&#x7A0B;&#x5E8F;&#x9700;&#x8981;&#x7684;&#x5E76;&#x53D1;&#xFF0C;&#x5F80;&#x5F80;&#x6BD4;&#x5176;&#x8BBE;&#x8BA1;&#x8005;&#x6240;&#x60F3;&#x8C61;&#x7684;&#x5C11;&#x5F97;&#x591A;&#x3002; <br/>&#x5F53;SQLite&#x8BD5;&#x56FE;&#x8BBF;&#x95EE;&#x4E00;&#x4E2A;&#x88AB;&#x5176;&#x5B83;&#x8FDB;&#x7A0B;&#x9501;&#x4F4F;&#x7684;&#x6587;&#x4EF6;&#x65F6;&#xFF0C;&#x7F3A;&#x7701;&#x7684;&#x884C;&#x4E3A;&#x662F;&#x8FD4;&#x56DE; SQLITE_BUSY&#x3002; &#x53EF;&#x4EE5;&#x5728;C&#x4EE3;&#x7801;&#x4E2D;&#x4F7F;&#x7528; sqlite3_busy_handler() &#x6216; sqlite3_busy_timeout() API &#x51FD;&#x6570;&#x8C03;&#x6574;&#x8FD9;&#x4E00;&#x884C;&#x4E3A;&#x3002;<br/>--------------------------------------------------------------------------------<br/>(6)SQLite&#x7EBF;&#x7A0B;&#x5B89;&#x5168;&#x5417;&#xFF1F;<br/>&#x7EBF;&#x7A0B;&#x662F;&#x9B54;&#x9B3C;&#xFF08;Threads are evil&#xFF09;&#x3002; &#x907F;&#x514D;&#x4F7F;&#x7528;&#x5B83;&#x4EEC;&#x3002; <br/>SQLite &#x662F;&#x7EBF;&#x7A0B;&#x5B89;&#x5168;&#x7684;&#x3002;&#x7531;&#x4E8E;&#x5F88;&#x591A;&#x7528;&#x6237;&#x4F1A;&#x5FFD;&#x7565;&#x6211;&#x4EEC;&#x5728;&#x4E0A;&#x4E00;&#x6BB5;&#x4E2D;&#x7ED9;&#x51FA;&#x7684;&#x5EFA;&#x8BAE;&#xFF0C; &#x6211;&#x4EEC;&#x505A;&#x51FA;&#x4E86;&#x8FD9;&#x79CD;&#x8BA9;&#x6B65;&#x3002;&#x4F46;&#x662F;&#xFF0C;&#x4E3A;&#x4E86;&#x8FBE;&#x5230;&#x7EBF;&#x7A0B;&#x5B89;&#x5168;&#xFF0C;SQLite&#x5728;&#x7F16;&#x8BD1;&#x65F6;&#x5FC5;&#x987B;&#x5C06; SQLITE_THREADSAFE &#x9884;&#x5904;&#x7406;&#x5B8F;&#x7F6E;&#x4E3A;1&#x3002;&#x5728;Windows&#x548C;Linux&#x4E0A;&#xFF0C; &#x5DF2;&#x7F16;&#x8BD1;&#x7684;&#x597D;&#x7684;&#x4E8C;&#x8FDB;&#x5236;&#x53D1;&#x884C;&#x7248;&#x4E2D;&#x90FD;&#x662F;&#x8FD9;&#x6837;&#x8BBE;&#x7F6E;&#x7684;&#x3002; &#x5982;&#x679C;&#x4E0D;&#x786E;&#x5B9A;&#x4F60;&#x6240;&#x4F7F;&#x7528;&#x7684;&#x5E93;&#x662F;&#x5426;&#x662F;&#x7EBF;&#x7A0B;&#x5B89;&#x5168;&#x7684;&#xFF0C;&#x53EF;&#x4EE5;&#x8C03;&#x7528; sqlite3_threadsafe() &#x63A5;&#x53E3;&#x627E;&#x51FA;&#x3002; <br/>&#x5728; 3.3.1 &#x7248;&#x672C;&#x4E4B;&#x524D;&#xFF0C;&#x4E00;&#x4E2A; sqlite3 &#x7ED3;&#x6784;&#x53EA;&#x80FD;&#x88AB;&#x7528;&#x4E8E;&#x8C03;&#x7528; sqlite3_open &#x521B;&#x5EFA;&#x7684;&#x540C;&#x4E00;&#x7EBF;&#x7A0B;&#x3002;&#x4F60;&#x4E0D;&#x80FD;&#x5728;&#x4E00;&#x4E2A;&#x7EBF;&#x7A0B;&#x4E2D;&#x6253;&#x5F00;&#x6570;&#x636E;&#x5E93;&#xFF0C; &#x7136;&#x540E;&#x5C06;&#x6570;&#x636E;&#x5E93;&#x53E5;&#x67C4;&#x4F20;&#x9012;&#x7ED9;&#x53E6;&#x5916;&#x4E00;&#x4E2A;&#x8FDB;&#x7A0B;&#x4F7F;&#x7528;&#x3002; &#x8FD9;&#x4E3B;&#x8981;&#x662F;&#x7531;&#x4E8E;&#x5728;&#x597D;&#x591A;&#x901A;&#x7528;&#x7684;&#x7EBF;&#x7A0B;&#x5B9E;&#x73B0;&#xFF08;&#x5982;RedHat9&#xFF09;&#x4E2D;&#x7684;&#x9650;&#x5236;&#x5F15;&#x8D77;&#x7684;&#xFF08;&#x662F;Bug&#x5417;&#xFF1F;&#xFF09;&#x3002; &#x7279;&#x522B;&#x7684;&#xFF0C;&#x5728;&#x6709;&#x95EE;&#x9898;&#x7684;&#x7CFB;&#x7EDF;&#x4E0A;&#xFF0C;&#x4E00;&#x4E2A;&#x8FDB;&#x7A0B;&#x521B;&#x5EFA;&#x7684; fcntl() &#x9501;&#x65E0;&#x6CD5;&#x88AB;&#x5176;&#x5B83;&#x7EBF;&#x7A0B;&#x6E05;&#x9664;&#x6216;&#x4FEE;&#x6539;&#x3002; &#x6240;&#x4EE5;&#xFF0C;&#x7531;&#x4E8E; SQLite &#x5927;&#x91CF;&#x4F7F;&#x7528; fcntl() &#x9501;&#x505A;&#x5E76;&#x53D1;&#x63A7;&#x5236;&#xFF0C; &#x5982;&#x679C;&#x4F60;&#x5728;&#x4E0D;&#x540C;&#x7684;&#x7EBF;&#x7A0B;&#x95F4;&#x79FB;&#x52A8;&#x6570;&#x636E;&#x5E93;&#x8FDE;&#x63A5;&#xFF0C;&#x5C31;&#x53EF;&#x80FD;&#x4F1A;&#x51FA;&#x73B0;&#x4E25;&#x91CD;&#x7684;&#x95EE;&#x9898;&#x3002; <br/>&#x5728;3.3.1&#x7248;&#x672C;&#x4E0A;&#xFF0C;&#x5173;&#x4E8E;&#x5728;&#x7EBF;&#x7A0B;&#x95F4;&#x79FB;&#x52A8;&#x6570;&#x636E;&#x5E93;&#x8FDE;&#x63A5;&#x7684;&#x9650;&#x5236;&#x53D8;&#x5F97;&#x5BBD;&#x677E;&#x4E86;&#x3002; &#x5728;&#x5B83;&#x53CA;&#x4EE5;&#x540E;&#x7684;&#x7248;&#x672C;&#x4E2D;&#xFF0C;&#x53EA;&#x8981;&#x8FDE;&#x63A5;&#x6CA1;&#x6709;&#x6301;&#x6709; fcntl() &#x9501;&#xFF0C;&#x5728;&#x7EBF;&#x7A0B;&#x95F4;&#x79FB;&#x52A8;&#x53E5;&#x67C4;&#x662F;&#x5B89;&#x5168;&#x7684;&#x3002; &#x5982;&#x679C;&#x6CA1;&#x6709;&#x672A;&#x51B3;&#x7684;&#x4E8B;&#x52A1;&#xFF0C;&#x5E76;&#x4E14;&#x6240;&#x6709;&#x7684;&#x8BED;&#x53E5;&#x90FD;&#x5DF2;&#x6267;&#x884C;&#x5B8C;&#x6BD5;&#xFF0C; &#x4F60;&#x5C31;&#x53EF;&#x4EE5;&#x5B89;&#x5168;&#x7684;&#x5047;&#x5B9A;&#x4E0D;&#x518D;&#x6301;&#x6709;&#x4EFB;&#x4F55;&#x9501;&#x3002; <br/>&#x5728;UNIX&#x4E2D;&#xFF0C;&#x5728;&#x6267;&#x884C; fork() &#x7CFB;&#x7EDF;&#x8C03;&#x7528;&#x65F6;&#x4E0D;&#x5E94;&#x643A;&#x5E26;&#x5DF2;&#x6253;&#x5F00;&#x7684;&#x6570;&#x636E;&#x5E93;&#x8FDB;&#x5165;&#x5B50;&#x8FDB;&#x7A0B;&#x3002; &#x90A3;&#x6837;&#x505A;&#x5C06;&#x4F1A;&#x6709;&#x95EE;&#x9898;&#x3002; <br/>--------------------------------------------------------------------------------<br/>(7)&#x5728;SQLite&#x6570;&#x636E;&#x5E93;&#x4E2D;&#x5982;&#x4F55;&#x5217;&#x51FA;&#x6240;&#x6709;&#x7684;&#x8868;&#x548C;&#x7D22;&#x5F15;&#xFF1F; <br/>&#x5982;&#x679C;&#x4F60;&#x8FD0;&#x884C; sqlite3 &#x547D;&#x4EE4;&#x884C;&#x6765;&#x8BBF;&#x95EE;&#x4F60;&#x7684;&#x6570;&#x636E;&#x5E93;&#xFF0C;&#x53EF;&#x4EE5;&#x952E;&#x5165; &#x201C;.tables&#x201D;&#x6765;&#x83B7;&#x5F97;&#x6240;&#x6709;&#x8868;&#x7684;&#x5217;&#x8868;&#x3002;&#x6216;&#x8005;&#xFF0C;&#x4F60;&#x53EF;&#x4EE5;&#x8F93;&#x5165; &#x201C;.schema&#x201D; &#x6765;&#x770B;&#x6574;&#x4E2A;&#x6570;&#x636E;&#x5E93;&#x6A21;&#x5F0F;&#xFF0C;&#x5305;&#x62EC;&#x6240;&#x6709;&#x7684;&#x8868;&#x7684;&#x7D22;&#x5F15;&#x3002; &#x8F93;&#x5165;&#x8FD9;&#x4E9B;&#x547D;&#x4EE4;&#xFF0C;&#x540E;&#x9762;&#x8DDF;&#x4E00;&#x4E2A;LIKE&#x6A21;&#x5F0F;&#x5339;&#x914D;&#x53EF;&#x4EE5;&#x9650;&#x5236;&#x663E;&#x793A;&#x7684;&#x8868;&#x3002; <br/>&#x5728;&#x4E00;&#x4E2A; C/C++ &#x7A0B;&#x5E8F;&#x4E2D;&#xFF08;&#x6216;&#x8005;&#x811A;&#x672C;&#x8BED;&#x8A00;&#x4F7F;&#x7528; Tcl/Ruby/Perl/Python &#x7B49;&#xFF09; &#x4F60;&#x53EF;&#x4EE5;&#x5728;&#x4E00;&#x4E2A;&#x7279;&#x6B8A;&#x7684;&#x540D;&#x53EB; SQLITE_MASTER &#x4E0A;&#x6267;&#x884C;&#x4E00;&#x4E2A;Sel&#101;ct&#x67E5;&#x8BE2;&#x4EE5;&#x83B7;&#x5F97;&#x6240;&#x6709; &#x8868;&#x7684;&#x7D22;&#x5F15;&#x3002;&#x6BCF;&#x4E00;&#x4E2A; SQLite &#x6570;&#x636E;&#x5E93;&#x90FD;&#x6709;&#x4E00;&#x4E2A;&#x53EB; SQLITE_MASTER &#x7684;&#x8868;&#xFF0C; &#x5B83;&#x5B9A;&#x4E49;&#x6570;&#x636E;&#x5E93;&#x7684;&#x6A21;&#x5F0F;&#x3002; SQLITE_MASTER &#x8868;&#x770B;&#x8D77;&#x6765;&#x5982;&#x4E0B;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;Cr&#101;ate TABLE sqlite_master (<br/>&nbsp;&nbsp;type TEXT,<br/>&nbsp;&nbsp;name TEXT,<br/>&nbsp;&nbsp;tbl_name TEXT,<br/>&nbsp;&nbsp;rootpage INTEGER,<br/>&nbsp;&nbsp;sql TEXT<br/>);<br/>&#x5BF9;&#x4E8E;&#x8868;&#x6765;&#x8BF4;&#xFF0C;type &#x5B57;&#x6BB5;&#x6C38;&#x8FDC;&#x662F; &#39;table&#39;&#xFF0C;name &#x5B57;&#x6BB5;&#x6C38;&#x8FDC;&#x662F;&#x8868;&#x7684;&#x540D;&#x5B57;&#x3002;&#x6240;&#x4EE5;&#xFF0C;&#x8981;&#x83B7;&#x5F97;&#x6570;&#x636E;&#x5E93;&#x4E2D;&#x6240;&#x6709;&#x8868;&#x7684;&#x5217;&#x8868;&#xFF0C; &#x4F7F;&#x7528;&#x4E0B;&#x5217;Sel&#101;ct&#x8BED;&#x53E5;&#xFF1A; <br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;Sel&#101;ct name FROM sqlite_master<br/>Wh&#101;re type=&#39;table&#39;<br/>o&#114;DER BY name;<br/>&#x5BF9;&#x4E8E;&#x7D22;&#x5F15;&#xFF0C;type &#x7B49;&#x4E8E; &#39;index&#39;, name &#x5219;&#x662F;&#x7D22;&#x5F15;&#x7684;&#x540D;&#x5B57;&#xFF0C;tbl_name &#x662F;&#x8BE5;&#x7D22;&#x5F15;&#x6240;&#x5C5E;&#x7684;&#x8868;&#x7684;&#x540D;&#x5B57;&#x3002; &#x4E0D;&#x7BA1;&#x662F;&#x8868;&#x8FD8;&#x662F;&#x7D22;&#x5F15;&#xFF0C;sql &#x5B57;&#x6BB5;&#x662F;&#x539F;&#x5148;&#x7528; Cr&#101;ate TABLE &#x6216; Cr&#101;ate INDEX &#x8BED;&#x53E5;&#x521B;&#x5EFA;&#x5B83;&#x4EEC;&#x65F6;&#x7684;&#x547D;&#x4EE4;&#x6587;&#x672C;&#x3002;&#x5BF9;&#x4E8E;&#x81EA;&#x52A8;&#x521B;&#x5EFA;&#x7684;&#x7D22;&#x5F15;&#xFF08;&#x7528;&#x6765;&#x5B9E;&#x73B0; PRIMARY KEY &#x6216; UNIQUE &#x7EA6;&#x675F;&#xFF09;&#xFF0C;sql&#x5B57;&#x6BB5;&#x4E3A;NULL&#x3002; <br/>SQLITE_MASTER &#x8868;&#x662F;&#x53EA;&#x8BFB;&#x7684;&#x3002;&#x4E0D;&#x80FD;&#x5BF9;&#x5B83;&#x4F7F;&#x7528; Up&#100;ate&#x3001;Ins&#101;rt &#x6216; Del&#101;te&#x3002; &#x5B83;&#x4F1A;&#x88AB; Cr&#101;ate TABLE&#x3001;Cr&#101;ate INDEX&#x3001;Dro&#112; TABLE &#x548C; Dro&#112; INDEX &#x547D;&#x4EE4;&#x81EA;&#x52A8;&#x66F4;&#x65B0;&#x3002; <br/>&#x4E34;&#x65F6;&#x8868;&#x4E0D;&#x4F1A;&#x51FA;&#x73B0;&#x5728; SQLITE_MASTER &#x8868;&#x4E2D;&#x3002;&#x4E34;&#x65F6;&#x8868;&#x53CA;&#x5176;&#x7D22;&#x5F15;&#x548C;&#x89E6;&#x53D1;&#x5668;&#x5B58;&#x653E;&#x5728;&#x53E6;&#x5916;&#x4E00;&#x4E2A;&#x53EB; SQLITE_TEMP_MASTER &#x7684;&#x8868;&#x4E2D;&#x3002;SQLITE_TEMP_MASTER &#x8DDF; SQLITE_MASTER &#x5DEE;&#x4E0D;&#x591A;&#xFF0C; &#x4F46;&#x5B83;&#x53EA;&#x662F;&#x5BF9;&#x4E8E;&#x521B;&#x5EFA;&#x90A3;&#x4E9B;&#x4E34;&#x65F6;&#x8868;&#x7684;&#x5E94;&#x7528;&#x53EF;&#x89C1;&#x3002;&#x5982;&#x679C;&#x8981;&#x83B7;&#x5F97;&#x6240;&#x6709;&#x8868;&#x7684;&#x5217;&#x8868;&#xFF0C; &#x4E0D;&#x7BA1;&#x662F;&#x6C38;&#x4E45;&#x7684;&#x8FD8;&#x662F;&#x4E34;&#x65F6;&#x7684;&#xFF0C;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;&#x7C7B;&#x4F3C;&#x4E0B;&#x9762;&#x7684;&#x547D;&#x4EE4;&#xFF1A; <br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;Sel&#101;ct name FROM <br/>&nbsp;&nbsp; (Sel&#101;ct * FROM sqlite_master UNION ALL<br/>&nbsp;&nbsp;&nbsp;&nbsp;Sel&#101;ct * FROM sqlite_temp_master)<br/>Wh&#101;re type=&#39;table&#39;<br/>o&#114;DER BY name<br/>--------------------------------------------------------------------------------<br/>(8) SQLite&#x6570;&#x636E;&#x5E93;&#x6709;&#x5DF2;&#x77E5;&#x7684;&#x5927;&#x5C0F;&#x9650;&#x5236;&#x5417;&#xFF1F;<br/>&#x5BF9;&#x6709;&#x5173;SQLite&#x9650;&#x5236;&#x7684;&#x8BE6;&#x7EC6;&#x8BA8;&#x8BBA;&#xFF0C;&#x89C1; limits.html &#x3002;<br/>--------------------------------------------------------------------------------<br/>(9) &#x5728;SQLite&#x4E2D;&#xFF0C;VARCHAR&#x5B57;&#x6BB5;&#x6700;&#x957F;&#x662F;&#x591A;&#x5C11;&#xFF1F;<br/>SQLite &#x4E0D;&#x5F3A;&#x5236; VARCHAR &#x7684;&#x957F;&#x5EA6;&#x3002; &#x4F60;&#x53EF;&#x4EE5;&#x5728; SQLITE &#x4E2D;&#x58F0;&#x660E;&#x4E00;&#x4E2A; VARCHAR(10)&#xFF0C;SQLite&#x8FD8;&#x662F;&#x53EF;&#x4EE5;&#x5F88;&#x9AD8;&#x5174;&#x5730;&#x5141;&#x8BB8;&#x4F60;&#x653E;&#x5165;500&#x4E2A;&#x5B57;&#x7B26;&#x3002; &#x5E76;&#x4E14;&#x8FD9;500&#x4E2A;&#x5B57;&#x7B26;&#x662F;&#x539F;&#x5C01;&#x4E0D;&#x52A8;&#x7684;&#xFF0C;&#x5B83;&#x6C38;&#x8FDC;&#x4E0D;&#x4F1A;&#x88AB;&#x622A;&#x65AD;&#x3002; <br/>--------------------------------------------------------------------------------<br/>(10) SQLite&#x652F;&#x6301;&#x4E8C;&#x8FDB;&#x5236;&#x5927;&#x5BF9;&#x8C61;&#x5417;&#xFF1F;<br/>SQLite 3.0 &#x53CA;&#x4EE5;&#x540E;&#x7248;&#x672C;&#x5141;&#x8BB8;&#x4F60;&#x5728;&#x4EFB;&#x4F55;&#x5217;&#x4E2D;&#x5B58;&#x50A8; BLOB &#x6570;&#x636E;&#x3002; &#x5373;&#x4F7F;&#x8BE5;&#x5217;&#x88AB;&#x58F0;&#x660E;&#x4E3A;&#x5176;&#x5B83;&#x7C7B;&#x578B;&#x4E5F;&#x53EF;&#x4EE5;&#x3002; <br/>--------------------------------------------------------------------------------<br/>(11) &#x5728;SQLite&#x4E2D;&#xFF0C;&#x5982;&#x4F55;&#x5728;&#x4E00;&#x4E2A;&#x8868;&#x4E0A;&#x6DFB;&#x52A0;&#x6216;&#x5220;&#x9664;&#x4E00;&#x5217;&#xFF1F;<br/>SQLite &#x6709;&#x6709;&#x9650;&#x5730; Alt&#101;r TABLE &#x652F;&#x6301;&#x3002;&#x4F60;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;&#x5B83;&#x6765;&#x5728;&#x8868;&#x7684;&#x672B;&#x5C3E;&#x589E;&#x52A0;&#x4E00;&#x5217;&#xFF0C;&#x53EF;&#x66F4;&#x6539;&#x8868;&#x7684;&#x540D;&#x79F0;&#x3002; &#x5982;&#x679C;&#x9700;&#x8981;&#x5BF9;&#x8868;&#x7ED3;&#x6784;&#x505A;&#x66F4;&#x590D;&#x6742;&#x7684;&#x6539;&#x53D8;&#xFF0C;&#x5219;&#x5FC5;&#x987B;&#x91CD;&#x65B0;&#x5EFA;&#x8868;&#x3002; &#x91CD;&#x5EFA;&#x65F6;&#x53EF;&#x4EE5;&#x5148;&#x5C06;&#x5DF2;&#x5B58;&#x5728;&#x7684;&#x6570;&#x636E;&#x653E;&#x5230;&#x4E00;&#x4E2A;&#x4E34;&#x65F6;&#x8868;&#x4E2D;&#xFF0C;&#x5220;&#x9664;&#x539F;&#x8868;&#xFF0C; &#x521B;&#x5EFA;&#x65B0;&#x8868;&#xFF0C;&#x7136;&#x540E;&#x5C06;&#x6570;&#x636E;&#x4ECE;&#x4E34;&#x65F6;&#x8868;&#x4E2D;&#x590D;&#x5236;&#x56DE;&#x6765;&#x3002; <br/>&#x5982;&#xFF0C;&#x5047;&#x8BBE;&#x6709;&#x4E00;&#x4E2A; t1 &#x8868;&#xFF0C;&#x5176;&#x4E2D;&#x6709; &#34;a&#34;, &#34;b&#34;, &#34;c&#34; &#x4E09;&#x5217;&#xFF0C; &#x5982;&#x679C;&#x8981;&#x5220;&#x9664;&#x5217; c &#xFF0C;&#x4EE5;&#x4E0B;&#x8FC7;&#x7A0B;&#x63CF;&#x8FF0;&#x5982;&#x4F55;&#x505A;: <br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;BEGIN TRANSACTION;<br/>Cr&#101;ate TEMPORARY TABLE t1_backup(a,b);<br/>Ins&#101;rt INTO t1_backup Sel&#101;ct a,b FROM t1;<br/>Dro&#112; TABLE t1;<br/>Cr&#101;ate TABLE t1(a,b);<br/>Ins&#101;rt INTO t1 Sel&#101;ct a,b FROM t1_backup;<br/>Dro&#112; TABLE t1_backup;<br/>COMMIT;<br/>--------------------------------------------------------------------------------<br/>(12) &#x6211;&#x5728;&#x6570;&#x636E;&#x5E93;&#x4E2D;&#x5220;&#x9664;&#x4E86;&#x5F88;&#x591A;&#x6570;&#x636E;&#xFF0C;&#x4F46;&#x6570;&#x636E;&#x5E93;&#x6587;&#x4EF6;&#x6CA1;&#x6709;&#x53D8;&#x5C0F;&#xFF0C;&#x662F;Bug&#x5417;&#xFF1F;<br/>&#x4E0D;&#x662F;&#x3002;&#x5F53;&#x4F60;&#x4ECE;SQLite&#x6570;&#x636E;&#x5E93;&#x4E2D;&#x5220;&#x9664;&#x6570;&#x636E;&#x65F6;&#xFF0C; &#x672A;&#x7528;&#x7684;&#x78C1;&#x76D8;&#x7A7A;&#x95F4;&#x5C06;&#x4F1A;&#x52A0;&#x5165;&#x4E00;&#x4E2A;&#x5185;&#x90E8;&#x7684;&#x201C;&#x81EA;&#x7531;&#x5217;&#x8868;&#x201D;&#x4E2D;&#x3002; &#x5F53;&#x4F60;&#x4E0B;&#x6B21;&#x63D2;&#x5165;&#x6570;&#x636E;&#x65F6;&#xFF0C;&#x8FD9;&#x90E8;&#x5206;&#x7A7A;&#x95F4;&#x53EF;&#x4EE5;&#x91CD;&#x7528;&#x3002;&#x78C1;&#x76D8;&#x7A7A;&#x95F4;&#x4E0D;&#x4F1A;&#x4E22;&#x5931;&#xFF0C; &#x4F46;&#x4E5F;&#x4E0D;&#x4F1A;&#x8FD4;&#x8FD8;&#x7ED9;&#x64CD;&#x4F5C;&#x7CFB;&#x7EDF;&#x3002; <br/>&#x5982;&#x679C;&#x5220;&#x9664;&#x4E86;&#x5927;&#x91CF;&#x6570;&#x636E;&#xFF0C;&#x800C;&#x53C8;&#x60F3;&#x7F29;&#x5C0F;&#x6570;&#x636E;&#x5E93;&#x6587;&#x4EF6;&#x5360;&#x7528;&#x7684;&#x7A7A;&#x95F4;&#xFF0C;&#x6267;&#x884C; VACUUM &#x547D;&#x4EE4;&#x3002; VACUUM &#x5C06;&#x4F1A;&#x4ECE;&#x5934;&#x91CD;&#x65B0;&#x7EC4;&#x7EC7;&#x6570;&#x636E;&#x5E93;&#x3002;&#x8FD9;&#x5C06;&#x4F1A;&#x4F7F;&#x7528;&#x6570;&#x636E;&#x5E93;&#x6709;&#x4E00;&#x4E2A;&#x7A7A;&#x7684;&#x201C;&#x81EA;&#x7531;&#x94FE;&#x8868;&#x201D;&#xFF0C; &#x6570;&#x636E;&#x5E93;&#x6587;&#x4EF6;&#x4E5F;&#x4F1A;&#x6700;&#x5C0F;&#x3002;&#x4F46;&#x8981;&#x6CE8;&#x610F;&#x7684;&#x662F;&#xFF0C;VACUUM &#x7684;&#x6267;&#x884C;&#x4F1A;&#x9700;&#x8981;&#x4E00;&#x4E9B;&#x65F6;&#x95F4; &#xFF08;&#x5728;SQLite&#x5F00;&#x53D1;&#x65F6;&#xFF0C;&#x5728;Linux&#x4E0A;&#xFF0C;&#x5927;&#x7EA6;&#x6BCF;M&#x5B57;&#x8282;&#x9700;&#x8981;&#x534A;&#x79D2;&#x79CD;&#xFF09;&#xFF0C;&#x5E76;&#x4E14;&#xFF0C; &#x6267;&#x884C;&#x8FC7;&#x7A0B;&#x4E2D;&#x9700;&#x8981;&#x539F;&#x6570;&#x636E;&#x5E93;&#x6587;&#x4EF6;&#x81F3;&#x591A;&#x4E24;&#x500D;&#x7684;&#x4E34;&#x65F6;&#x78C1;&#x76D8;&#x7A7A;&#x95F4;&#x3002; <br/>&#x5BF9;&#x4E8E; SQLite 3.1&#x7248;&#x672C;&#xFF0C;&#x4E00;&#x4E2A; auto-vacumm &#x6A21;&#x5F0F;&#x53EF;&#x4EE5;&#x66FF;&#x4EE3; VACUUM &#x547D;&#x4EE4;&#x3002; &#x53EF;&#x4EE5;&#x4F7F;&#x7528; auto_vacuum pragma &#x6253;&#x5F00;&#x3002;<br/>--------------------------------------------------------------------------------<br/>(13) &#x6211;&#x53EF;&#x4EE5;&#x5728;&#x5546;&#x4E1A;&#x4EA7;&#x54C1;&#x4E2D;&#x4F7F;&#x7528;SQLite&#x800C;&#x4E0D;&#x9700;&#x652F;&#x4ED8;&#x8BB8;&#x53EF;&#x8D39;&#x7528;&#x5417;&#xFF1F;<br/>&#x662F;&#x7684;&#x3002;SQLite &#x5728; public domain&#x3002; &#x5BF9;&#x4EE3;&#x7801;&#x7684;&#x4EFB;&#x4F55;&#x90E8;&#x5206;&#x6CA1;&#x6709;&#x4EFB;&#x4F55;&#x6240;&#x6709;&#x6743;&#x58F0;&#x660E;&#x3002;&#x4F60;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;&#x5B83;&#x505A;&#x4EFB;&#x4F55;&#x4E8B;&#x3002; <br/>--------------------------------------------------------------------------------<br/>(14) &#x5982;&#x4F55;&#x5728;&#x5B57;&#x7B26;&#x4E32;&#x4E2D;&#x4F7F;&#x7528;&#x5355;&#x5F15;&#x53F7;(&#39;)&#xFF1F;<br/>SQL &#x6807;&#x51C6;&#x89C4;&#x5B9A;&#xFF0C;&#x5728;&#x5B57;&#x7B26;&#x4E32;&#x4E2D;&#xFF0C;&#x5355;&#x5F15;&#x53F7;&#x9700;&#x8981;&#x4F7F;&#x7528;&#x9003;&#x9038;&#x5B57;&#x7B26;&#xFF0C;&#x5373;&#x5728;&#x4E00;&#x884C;&#x4E2D;&#x4F7F;&#x7528;&#x4E24;&#x4E2A;&#x5355;&#x5F15;&#x53F7;&#x3002;&#x5728;&#x8FD9;&#x65B9;&#x9762; SQL &#x7528;&#x8D77;&#x6765;&#x7C7B;&#x4F3C; Pascal &#x8BED;&#x8A00;&#x3002; SQLite &#x5C0A;&#x5FAA;&#x6807;&#x51C6;&#x3002;&#x5982;&#xFF1A; <br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;Ins&#101;rt INTO xyz VALUES(&#39;5 O&#39;&#39;clock&#39;);&nbsp;&nbsp;<br/>--------------------------------------------------------------------------------<br/>(15) SQLITE_SCHEMA error&#x662F;&#x4EC0;&#x4E48;&#x9519;&#x8BEF;&#xFF1F;&#x4E3A;&#x4EC0;&#x4E48;&#x4F1A;&#x51FA;&#x73B0;&#x8BE5;&#x9519;&#x8BEF;&#xFF1F;<br/>&#x5F53;&#x4E00;&#x4E2A;&#x51C6;&#x5907;&#x597D;&#x7684;&#xFF08;prepared&#xFF09;SQL&#x8BED;&#x53E5;&#x4E0D;&#x518D;&#x6709;&#x6548;&#x6216;&#x8005;&#x65E0;&#x6CD5;&#x6267;&#x884C;&#x65F6;&#xFF0C; &#x5C06;&#x8FD4;&#x56DE;&#x4E00;&#x4E2A; SQLITE_SCHEMA &#x9519;&#x8BEF;&#x3002;&#x53D1;&#x751F;&#x8BE5;&#x9519;&#x8BEF;&#x65F6;&#xFF0C;SQL&#x8BED;&#x53E5;&#x5FC5;&#x987B;&#x4F7F;&#x7528; sqlite3_prepare() API&#x6765;&#x91CD;&#x65B0;&#x7F16;&#x8BD1;. &#x5728; SQLite 3 &#x4E2D;, &#x4E00;&#x4E2A; SQLITE_SCHEMA &#x9519;&#x8BEF;&#x53EA;&#x4F1A;&#x53D1;&#x751F;&#x5728;&#x7528; sqlite3_prepare()/sqlite3_step()/sqlite3_finalize() API &#x6267;&#x884C; SQL &#x65F6;&#x3002;&#x800C;&#x4E0D;&#x4F1A;&#x53D1;&#x751F;&#x5728;&#x4F7F;&#x7528; sqlite3_exec()&#x65F6;&#x3002; &#x5728;&#x7248;&#x672C;2&#x4E2D;&#x4E0D;&#x662F;&#x8FD9;&#x6837;&#x3002;<br/>&#x51C6;&#x5907;&#x597D;&#x7684;&#x8BED;&#x53E5;&#x5931;&#x6548;&#x7684;&#x6700;&#x901A;&#x5E38;&#x539F;&#x56E0;&#x662F;&#xFF1A;&#x5728;&#x8BED;&#x53E5;&#x51C6;&#x5907;&#x597D;&#x540E;&#xFF0C; &#x6570;&#x636E;&#x5E93;&#x7684;&#x6A21;&#x5F0F;&#x53C8;&#x88AB;&#x4FEE;&#x6539;&#x4E86;&#x3002;&#x53E6;&#x5916;&#x7684;&#x539F;&#x56E0;&#x4F1A;&#x53D1;&#x751F;&#x5728;&#xFF1A; <br/>&#x6570;&#x636E;&#x5E93;&#x79BB;&#x7EBF;&#xFF1A;DETACHed. <br/>&#x6570;&#x636E;&#x5E93;&#x88AB; VACUUMed <br/>&#x4E00;&#x4E2A;&#x7528;&#x6237;&#x5B58;&#x50A8;&#x8FC7;&#x7A0B;&#x5B9A;&#x4E49;&#x88AB;&#x5220;&#x9664;&#x6216;&#x6539;&#x53D8;&#x3002; <br/>&#x4E00;&#x4E2A; collation &#x5E8F;&#x5217;&#x5B9A;&#x4E49;&#x88AB;&#x5220;&#x9664;&#x6216;&#x6539;&#x53D8;&#x3002; <br/>&#x8BA4;&#x8BC1;&#x51FD;&#x6570;&#x88AB;&#x6539;&#x53D8;&#x3002; <br/>&#x5728;&#x6240;&#x6709;&#x60C5;&#x51B5;&#x4E0B;&#xFF0C;&#x89E3;&#x51B3;&#x65B9;&#x6CD5;&#x662F;&#x91CD;&#x65B0;&#x7F16;&#x8BD1;&#x5E76;&#x6267;&#x884C;&#x8BE5;SQL&#x8BED;&#x53E5;&#x3002; &#x56E0;&#x4E3A;&#x4E00;&#x4E2A;&#x5DF2;&#x51C6;&#x5907;&#x597D;&#x7684;&#x8BED;&#x53E5;&#x53EF;&#x4EE5;&#x7531;&#x4E8E;&#x5176;&#x5B83;&#x8FDB;&#x7A0B;&#x6539;&#x53D8;&#x6570;&#x636E;&#x5E93;&#x6A21;&#x5F0F;&#x800C;&#x5931;&#x6548;&#xFF0C; &#x6240;&#x6709;&#x4F7F;&#x7528; sqlite3_prepare()/sqlite3_step()/sqlite3_finalize() API &#x7684;&#x4EE3;&#x7801;&#x90FD;&#x5E94;&#x51C6;&#x5907;&#x5904;&#x7406; SQLITE_SCHEMA &#x9519;&#x8BEF;&#x3002;&#x4E0B;&#x9762;&#x7ED9;&#x51FA;&#x4E00;&#x4E2A;&#x4F8B;&#x5B50;&#xFF1A; <br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;int rc;<br/>sqlite3_stmt *pStmt;<br/>char zSql[] = &#34;Sel&#101;ct .....&#34;;<br/>do {<br/>&nbsp;&nbsp;/* Compile the statement from SQL. Assume success. */<br/>&nbsp;&nbsp;sqlite3_prepare(pDb, zSql, -1, &amp;pStmt, 0);<br/>&nbsp;&nbsp;while( SQLITE_ROW==sqlite3_step(pStmt) ){<br/>&#160;&#160;&#160;&#160;/* Do something with the row of available data */<br/>&nbsp;&nbsp;}<br/>&nbsp;&nbsp;/* Finalize the statement. If an SQLITE_SCHEMA error has<br/>&nbsp;&nbsp;** occured, then the above call to sqlite3_step() will have<br/>&nbsp;&nbsp;** returned SQLITE_ERROR. sqlite3_finalize() will return<br/>&nbsp;&nbsp;** SQLITE_SCHEMA. In this case the loop will execute again.<br/>&nbsp;&nbsp;*/<br/>&nbsp;&nbsp;rc = sqlite3_finalize(pStmt);<br/>} while( rc==SQLITE_SCHEMA );&nbsp;&nbsp; <br/>--------------------------------------------------------------------------------<br/>(16) &#x4E3A;&#x4EC0;&#x4E48; ROUND(9.95,1) &#x8FD4;&#x56DE; 9.9 &#x800C;&#x4E0D;&#x662F; 10.0&#xFF1F; 9.95&#x4E0D;&#x5E94;&#x8BE5;&#x5706;&#x6574; (&#x56DB;&#x820D;&#x4E94;&#x5165;&#xFF09;&#x5417;&#xFF1F;<br/>SQLite &#x4F7F;&#x7528;&#x4E8C;&#x8FDB;&#x5236;&#x7B97;&#x672F;&#xFF0C;&#x5728;&#x4E8C;&#x8FDB;&#x5236;&#x4E2D;&#xFF0C; &#x65E0;&#x6CD5;&#x7528;&#x6709;&#x9650;&#x7684;&#x4E8C;&#x8FDB;&#x5236;&#x4F4D;&#x6570;&#x8868;&#x793A; 9.95 &#x3002;&#x4F7F;&#x7528; 64-bit IEEE &#x6D6E;&#x70B9; &#xFF08;SQLite&#x5C31;&#x662F;&#x4F7F;&#x7528;&#x8FD9;&#x4E2A;&#xFF09;&#x6700;&#x63A5;&#x8FD1; 9.95 &#x7684;&#x4E8C;&#x8FDB;&#x5236;&#x8868;&#x793A;&#x662F; 9.949999999999999289457264239899814128875732421875&#x3002; &#x6240;&#x5728;&#xFF0C;&#x5F53;&#x4F60;&#x8F93;&#x5165; 9.95 &#x65F6;&#xFF0C;SQLite&#x5B9E;&#x9645;&#x4E0A;&#x4EE5;&#x4E3A;&#x662F;&#x4E0A;&#x9762;&#x7684;&#x6570;&#x5B57;&#xFF0C; &#x5728;&#x56DB;&#x820D;&#x4E94;&#x5165;&#x65F6;&#x4F1A;&#x820D;&#x53BB;&#x3002; <br/>&#x8FD9;&#x79CD;&#x95EE;&#x9898;&#x5728;&#x4F7F;&#x7528;&#x4E8C;&#x8FDB;&#x5236;&#x6D6E;&#x70B9;&#x6570;&#x7684;&#x4EFB;&#x4F55;&#x65F6;&#x5019;&#x90FD;&#x4F1A;&#x51FA;&#x73B0;&#x3002; &#x901A;&#x5E38;&#x7684;&#x89C4;&#x5219;&#x662F;&#x8BB0;&#x4F4F;&#x5F88;&#x591A;&#x6709;&#x9650;&#x7684;&#x5341;&#x8FDB;&#x5236;&#x5C0F;&#x6570;&#x90FD;&#x6CA1;&#x6709;&#x4E00;&#x4E2A;&#x5BF9;&#x5E94;&#x7684;&#x4E8C;&#x8FDB;&#x5236;&#x8868;&#x793A;&#x3002; &#x6240;&#x4EE5;&#xFF0C;&#x5B83;&#x4EEC;&#x53EA;&#x80FD;&#x4F7F;&#x7528;&#x6700;&#x63A5;&#x8FD1;&#x7684;&#x4E8C;&#x8FDB;&#x5236;&#x6570;&#x3002;&#x5B83;&#x4EEC;&#x901A;&#x5E38;&#x975E;&#x5E38;&#x63A5;&#x8FD1;&#xFF0C; &#x4F46;&#x4E5F;&#x4F1A;&#x6709;&#x4E9B;&#x5FAE;&#x5C0F;&#x7684;&#x4E0D;&#x540C;&#xFF0C;&#x6709;&#x4E9B;&#x65F6;&#x5019;&#x4E5F;&#x4F1A;&#x5BFC;&#x81F4;&#x4F60;&#x6240;&#x671F;&#x671B;&#x7684;&#x4E0D;&#x540C;&#x7684;&#x7ED3;&#x679C;&#x3002; </p><p> + <a href="#CommentCard">&#x67E5;&#x770B;&#x5F53;&#x524D;&#x65E5;&#x5FD7;&#x8BC4;&#x8BBA;</a> (0)</p><p>&nbsp;<br/><br/><a href="wap.asp?do=Login">&#x767B;&#x5F55;</a></p><p><br/>&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;</p><p><a href="wap.asp">&#x6728;&#x5B50;&#x5C4B;</a></p><p><a href="http://www.pjhome.net/wap.asp">PJBlog3&nbsp;v3.2.9.518</a>&nbsp;Inside.</p><p>Processed&nbsp;In&nbsp;0.086&nbsp;ms</p><do type="prev" label="&#x8FD4;&#x56DE;"><prev/></do></card><card id="postCommentCard"><p><b>&#x6807;&#x9898;&#x3A;</b> <a href="#MainCard">&#x53;&#x51;&#x4C;&#x69;&#x74;&#x65;&#x5E38;&#x89C1;&#x95EE;&#x9898;&#x89E3;&#x7B54;</a></p><p><br/>你没有权限发表评论</p><p><br/>&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;</p><p><a href="wap.asp">&#x6728;&#x5B50;&#x5C4B;</a></p><p><a href="http://www.pjhome.net/wap.asp">PJBlog3&nbsp;v3.2.9.518</a>&nbsp;Inside.</p><p>Processed&nbsp;In&nbsp;0.086&nbsp;ms</p><do type="prev" label="&#x8FD4;&#x56DE;"><prev/></do></card><card id="CommentCard"><p>&#x6682;&#x65E0;&#x8BC4;&#x8BBA;</p><p><a href="#MainCard">&#x8FD4;&#x56DE;</a></p><p><br/>&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;</p><p><a href="wap.asp">&#x6728;&#x5B50;&#x5C4B;</a></p><p><a href="http://www.pjhome.net/wap.asp">PJBlog3&nbsp;v3.2.9.518</a>&nbsp;Inside.</p><p>Processed&nbsp;In&nbsp;0.086&nbsp;ms</p><do type="prev" label="&#x8FD4;&#x56DE;"><prev/></do></card>
</wml>
