SQLite³£¼ûÎÊÌâ½â´ð
1¡¢ÈçºÎ½¨Á¢×Ô¶¯Ôö³¤×Ö¶Î?
¼ò¶Ì»Ø´ð£ºÉùÃ÷Ϊ INTEGER PRIMARY KEY µÄÁн«»á×Ô¶¯Ôö³¤¡£
³¤Ò»µãµÄ´ð°¸£º Èç¹ûÄãÉùÃ÷±íµÄÒ»ÁÐΪ INTEGER PRIMARY KEY£¬ÄÇô£¬ ÿµ±ÄãÔÚ¸ÃÁÐÉϲåÈëÒ»NULLֵʱ£¬ NULL×Ô¶¯±»×ª»»ÎªÒ»¸ö±È¸ÃÁÐÖÐ×î´óÖµ´ó1µÄÒ»¸öÕûÊý£¬Èç¹û±íÊǿյģ¬ ½«»áÊÇ1¡£ (Èç¹ûÊÇ×î´ó¿ÉÄܵÄÖ÷¼ü 9223372036854775807£¬ÄǸö£¬½«¼üÖµ½«ÊÇËæ»úδʹÓõÄÊý¡££© È磬ÓÐÏÂÁÐ±í£º
CREATE TABLE t1(
¡¡a INTEGER PRIMARY KEY,
¡¡b INTEGER
);
¡¡¡¡ÔڸñíÉÏ£¬ÏÂÁÐÓï¾ä
INSERT INTO t1 VALUES(NULL,123);
¡¡¡¡ÔÚÂß¼ÉϵȼÛÓÚ£º
INSERT INTO t1 VALUES((SELECT max(a) from t1)+1,123);
¡¡¡¡ÓÐÒ»¸öеÄAPI½Ð×ö sqlite3_last_insert_rowid()£¬ Ëü½«·µ»Ø×î½ü²åÈëµÄÕûÊýÖµ¡£
¡¡¡¡×¢Òâ¸ÃÕûÊý»á±È±íÖиÃÁÐÉϵIJåÈë֮ǰµÄ×î´óÖµ´ó1¡£ ¸Ã¼üÖµÔÚµ±Ç°µÄ±íÖÐÊÇΨһµÄ¡£µ«ÓпÉÄÜÓëÒÑ´Ó±íÖÐɾ³ýµÄÖµÖØµþ¡£ ÒªÏ뽨Á¢ÔÚÕû¸ö±íµÄÉúÃüÖÜÆÚÖÐΨһµÄ¼üÖµ£¬ÐèÒªÔÚ INTEGER PRIMARY KEY ÉÏÔö¼ÓAUTOINCREMENTÉùÃ÷¡£ÄÇô£¬ÐµļüÖµ½«»á±È¸Ã±íÖÐÔøÄÜ´æÔÚ¹ýµÄ×î´óÖµ´ó1¡£ Èç¹û×î´ó¿ÉÄܵÄÕûÊýÖµÔÚÊý¾Ý±íÖÐÔø¾´æÔÚ¹ý£¬INSERT½«»áʧ°Ü£¬ ²¢·µ»ØSQLITE_FULL´íÎó´úÂë¡£
(2)SQLiteÖ§³ÖºÎÖÖÊý¾ÝÀàÐÍ£¿
¡¡¡¡²Î¼û http://www.sqlite.org/datatype3.html.
(3)SQLiteÔÊÐíÏòÒ»¸öintegerÐÍ×Ö¶ÎÖвåÈë×Ö·û´®£¡
¡¡¡¡ÕâÊÇÒ»¸öÌØÐÔ£¬¶ø²»ÊÇÒ»¸öbug¡£SQLite²»Ç¿ÖÆÊý¾ÝÀàÐÍÔ¼Êø¡£ ÈκÎÊý¾Ý¶¼¿ÉÒÔ²åÈëÈκÎÁС£Äã¿ÉÒÔÏòÒ»¸öÕûÐÍÁÐÖвåÈëÈÎÒⳤ¶ÈµÄ×Ö·û´®£¬ Ïò²¼¶ûÐÍÁÐÖвåÈ븡µãÊý£¬»òÕßÏò×Ö·ûÐÍÁÐÖвåÈëÈÕÆÚÐÍÖµ¡£ ÔÚ CREATE TABLE ÖÐËùÖ¸¶¨µÄÊý¾ÝÀàÐͲ»»áÏÞÖÆÔÚ¸ÃÁÐÖвåÈëÈκÎÊý¾Ý¡£ ÈκÎÁоù¿É½ÓÊÜÈÎÒⳤ¶ÈµÄ×Ö·û´®£¨Ö»ÓÐÒ»ÖÖÇé¿ö³ýÍ⣺ ±ê־ΪINTEGER PRIMARY KEYµÄÁÐÖ»ÄÜ´æ´¢64λÕûÊý£¬ µ±ÏòÕâÖÖÁÐÖвåÊý¾Ý³ýÕûÊýÒÔÍâµÄÊý¾Ýʱ£¬½«»á²úÉú´íÎó¡£
¡¡¡¡µ«SQLiteȷʵʹÓÃÉùÃ÷µÄÁÐÀàÐÍÀ´Ö¸Ê¾ÄãËùÆÚÍûµÄ¸ñʽ¡£ËùÒÔ£¬ ÀýÈçÄãÏòÒ»¸öÕûÐÍÁÐÖвåÈë×Ö·û´®Ê±£¬SQLite»áÊÔͼ½«¸Ã×Ö·û´®×ª»»³ÉÒ»¸öÕûÊý¡£ Èç¹û¿ÉÒÔת»»£¬Ëü½«²åÈë¸ÃÕûÊý£»·ñÔò£¬½«²åÈë×Ö·û´®¡£ ÕâÖÖÌØÐÔÓÐʱ±»³ÆÎª ÀàÐÍ»òÁÐÇ׺ÍÐÔ(type or column affinity).
(4)ΪʲôSQLite²»ÔÊÐíÔÚͬһ¸ö±í²»Í¬µÄÁ½ÐÐÉÏʹÓÃ0ºÍ0.0×÷Ö÷¼ü£¿
¡¡¡¡Ö÷¼ü±ØÐëÊÇÊýÖµÀàÐÍ£¬½«Ö÷¼ü¸ÄΪTEXTÐͽ«²»Æð×÷Óá£
¡¡¡¡Ã¿Ò»ÐбØÐëÓÐÒ»¸öΨһµÄÖ÷¼ü¡£¶ÔÓÚÒ»¸öÊýÖµÐÍÁУ¬ SQLiteÈÏΪ '0' ºÍ '0.0' ÊÇÏàͬµÄ£¬ ÒòΪËûÃÇÔ
Ïà¹ØÎĵµ£º
±¾ÎÄ×ªÔØ×Ô http://www.tntserver.cn/article.asp?id=41
½ñÌìÓöµ½¸öÎÊÌâ.
Ê×ÏȲåÈëÒ»¸öDataTime¸ñʽµÄÊý¾Ý:
string sql="insert into [table] (date_time) values('" + date_time.ToString() + "'";
Ö´ÐÐÈçÉÏÃüÁî.²åÈëûÓб¨¸æ´íÎó.
µ«ÊÇ,ÎÒÓÖÓÃÒ»ÌõÃüÁî¶Áȡʱ:
string sql="select * from [table];
.....
IDataRea ......
SqLite.netµÄdllΪSystem.Data.SQLite.dll£¬ÕâÖÖdll·ÖΪ32λ¡¢64λºÍÊÊÓÃÓÚcompactframeworkÈýÖÖ£¬ÔÚÒýÓÃʱҪעÒ⣬ѡÔñÕýÈ·µÄdll¡£
½«Òª±£´æÍ¼Æ¬µÄ×Ö¶ÎÀàÐÍÉèΪblob¡£´úÂëÈçÏ£º
private void savePicture£¨£©
{
using (SQLiteConnection cnn = new SQLiteConnection(dbPath))
......
.help ÏÔʾ°ïÖúÐÅÏ¢
.import FILE TABLE °ÑÎļþÖеÄÊý¾Ýµ¼Èëµ½±íÖÐ,¸÷×Ö¶ÎÓÃseparator£¨Ä¬ÈÏÊÇ"|"£©µÄֵΪ·Ö¸ô·û,ÏÂÃæÎÒÃǾٸöÀý×Ó¡£ ÎÒÃÇÔÚFÅÌϽ¨Ò»¸ödata.txtÎļþ£¬ÄÚÈÝÈçÏ£º
4|¿ªÔ´
5|¼¼Êõ
.importÃüÁî²Ù×÷ÈçÏ£º
sqlite> .import data.txt websites
sqlite>
²é¿´½á¹ûÈçÏ£º
sqlite> select * from ......
¸ã¶¨ÁËÒ»¸öÀ§ÈÅÐí¾ÃµÄÎÊÌ⣬ÔÀ´sqliteÖеÄÖ÷¼üÒ²ÊÇ¿ÉÒÔÉèÖÃΪ×ÔÔöµÄ£º£©·½·¨¾ÍÊÇÉùÃ÷Ϊ INTEGER PRIMARY KEY µÄ×ֶοÉÒÔ×Ô¶¯Ôö¼Ó¡£
ÍøÉϲ鵽×ÊÁÏ˵£¬´Ó SQLite µÄ 2.3.4 °æ±¾¿ªÊ¼£¬Èç¹û½«Ò»¸ö±íÖеÄÒ»¸ö×Ö¶ÎÉùÃ÷Ϊ INTEGER PRIMARY KEY£¬ÄÇôֻÐèÏò¸Ã±íµÄ¸Ã×ֶβåÈëÒ»¸ö NULL Öµ£¬ ......