railsʹÓÃsqlite3ºÍmysqlµÄÎÊÌâ
1¡¢Èç¹ûʹÓÃsqlite3ʱ³öÏÖÈçÏ´íÎó£º
/!\ FAILSAFE /!\ Thu Jul 30 22:16:15 +0800 2009
Status: 500 Internal Server Error
unknown error
c:/ruby/lib/ruby/1.8/dl/import.rb:29:in `initialize'
c:/ruby/lib/ruby/1.8/dl/import.rb:29:in `dlopen'
c:/ruby/lib/ruby/1.8/dl/import.rb:29:in `dlload'
c:/ruby/lib/ruby/1.8/dl/import.rb:27:in `each'
c:/ruby/lib/ruby/1.8/dl/import.rb:27:in `dlload'
c:/ruby/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.3-x86-mswin32/lib/sqlite3/driver/dl/api.rb:31
... ...
´ÓÍøÉÏÏÂÔØsqlite3.dll¡¢sqlite3.exe¿½±´µ½ÏµÍ³Ä¿Â¼Ï¼´¿É½â¾ö¡£
2¡¢Èç¹ûʹÓÃmysql£¬Ä¿Ç°rail2.3.3ÅäºÏmysql5±È½ÏÕý³££¬mysql6ÔÝʱÓÐЩÎÊÌâ¡£ÔÚ°²×°mysql5ºóÒª½«libmySQL.dll¿½±´µ½c:\ruby\binĿ¼Ï£¬±£Ö¤Çý¶¯¼ÓÔØÕýÈ·¡£
Ïà¹ØÎĵµ£º
³£³£Óöµ½´óÊý¾ÝÁ¿Æµ·±¶ÁÐ´ÊÆ±Ø»áµ¼Ö·þÎñÆ÷µÄÐÔÄÜϽµ¡£ÏÂÃæ¼Ç¼һ϶ÔmysqlµÄÓÅ»¯ÅäÖÃ
1.Ê×ÏȹرÕauto commit¡£
2.¶ÔÓÚÊý¾Ý±íʹÓÃInnoDB¡£
3.¹Ø±ÕÍâ¼üÔ¼Êø¡£
4.²ÉÓöàÖµ²åÈë“INSERT INTO ±íÃû VALUES (1,2), (5,5), ...;” Èç¹ûÓдóÁ¿²¢·¢¿ÉÒÔÓøü¸ÄINSERT INTOΪ INSERT DELAYED INTO¿ÉÒÔÔڳ̶ÈÉϽ⾠......
Ò»¡¢²ÎÕÕÍêÕûÐÔ(Referential integrity)ºÍÍâ¼ü(foreign key)
²ÎÕÕÍêÕûÐÔ(Referential integrity)ÊÇÓÃÓÚÔ¼¶¨Á½¸ö¹ØÏµÖ®¼äµÄÁªÏµ£¬ÀíÂÛÉϹ涨£ºÈôMÊǹØÏµSÖеÄÒ»ÊôÐÔ×飬ÇÒMÊÇÁíÒ»¹ØÏµZµÄÖ÷¹Ø¼ü×Ö£¬Ôò³ÆMΪ¹ØÏµS¶ÔÓ¦¹ØÏµZµÄÍâ¹Ø¼ü×Ö¡£ÈôMÊǹØÏµSµÄÍâ¹Ø¼ü×Ö£¬ÔòSÖÐÿһ¸öÔª×éÔÚMÉϵÄÖµ±ØÐëÊÇ¿ÕÖµ»òÊǶÔÓ¦¹ØÏµZÖÐij¸öÔª×éµÄÖ÷¹ ......
ÔÚmysqlÊÖ²áÀïÃæÓÐÒ»¶ÎÃèÊö¹ØÓÚlock tablesµÄÓï·¨µÄ. LOCK TABLES
tbl_name [AS alias] {READ [LOCAL] | [LOW_PRIORITY] WRITE}
[, tbl_name [AS alias] {READ [LOCAL] | [LOW_PRIORITY] WRITE}] ...
UNLOCK TABLES
READ
µ±±í²»´æÔÚ WRITE Ð´ËøÊ± READ ¶ÁËø±»Ö´ÐÐ,Õâ¸Ã ......
1.Ê×ÏȵöÔmysql ÀïÃæµÄ²ÎÊý½øÐнéÉÜÏÂ:
procedure--in:ÊäÈë²ÎÊý,outÊä³ö²ÎÊý,inoutÕâ¸ö¾Í²»ÓÃ˵ÁË,´ó¸ÅÒ²²Âµ½ÁË
declare:ÉùÃ÷±äÁ¿.¼ÇÖ÷, ......
ÓÐʱºòΪÁË·½±ã£¬ÀûÓÃevent/triggerµ÷ÓÃϵͳÍⲿÃüÁ¿ÉÒòΪ°²È«ÎÊÌ⣬mysql×ÔÉí²¢Ã»ÓÐÌṩÏà¹ØÃüÁÕâÀïÌṩ¸öµ÷ÓÃϵͳÃüÁîµÄ×Ô¶¨Ò庯Êýmylab_sys_exec
soÎļþÏÂÔØ:mylab_sys_exec.so ( mysql5.1.34 ²âÊÔͨ¹ý)
¼ÓÔØ:
CREATE FUNCTION mylab_sys_exec RETURNS INTEGER SONAME "mylab_sys_exec.so";
ʹÓÃ:
SELECT myl ......