MySQLµÄ±íËøÎÊÌâ
ÔÚmysqlÊÖ²áÀïÃæÓÐÒ»¶ÎÃèÊö¹ØÓÚlock tablesµÄÓï·¨µÄ.
LOCK TABLES tbl_name [AS alias] {READ [LOCAL] | [LOW_PRIORITY] WRITE} [, tbl_name [AS alias] {READ [LOCAL] | [LOW_PRIORITY] WRITE}] ...UNLOCK TABLESREAD
µ±±í²»´æÔÚ WRITE Ð´ËøÊ± READ ¶ÁËø±»Ö´ÐÐ,Õâ¸Ã״̬ÏÂ,µ±Ç°Ï̲߳»¿ÉÒÔÐÞ¸Ä(insert,update,delete),ÆäËûÏ̵߳ÄÐ޸IJÙ×÷½øÈëÁжÓ,µ±µ±Ç°Ïß³ÌÊÍ·ÅËø,ÆäËûÏß³ÌÐ޸ı»Ö´ÐÐ.
READ LOCAL
READ LOCALºÍREADÖ®¼äµÄÇø±ðÊÇ£¬READ LOCALÔÊÐíÔÚËø¶¨±»±£³Öʱ£¬Ö´ÐзdzåÍ»ÐÔINSERTÓï¾ä£¨Í¬Ê±²åÈë-Concurrent InsertµÄÌØÐÔ£¬Ö÷ÒªÊÇÕë¶ÔMyISAM´æ´¢ÒýÇæÀ´ËµµÄ£©¡£µ«ÊÇ£¬Èç¹ûÄúÕý´òËãÔÚMySQLÍâÃæ²Ù×÷Êý¾Ý¿âÎļþ£¬Í¬Ê±Äú±£³ÖËø¶¨£¬Ôò²»ÄÜʹÓÃREAD LOCAL¡£¶ÔÓÚInnoDB±í£¬READ LOCALÓëREADÏàͬ(tenfyµÄʵÑé½áÂÛÊÇ£ºMyISAM´æ´¢ÒýÇæ£¬È·ÊµÔÚÏß³ÌaÖ´ÐÐread local rockºó£¬ÆäËûÏß³ÌÊÇ¿ÉÒÔÔÙ½øÐÐinsert²Ù×÷µÄ£¬updateÔò±»×èÈû£¬µ«¶ÔInnoDB´æ´¢ÒýÇæÀ´Ëµ£¬insertºÍupdate¾ù±»×èÈû£¬Òò´Ëread local¸ü¶àµÄÊǶÔMyISAM´æ´¢ÒýÇæÀ´ËµµÄ)¡£
WRITE
³ýÁ˵±Ç°Óû§±»ÔÊÐí¶ÁÈ¡ºÍÐ޸ı»Ëø±íÍ⣬ÆäËûÓû§µÄËùÓзÃÎʱ»ÍêÈ«×èÖ¹¡£×¢ÒâµÄÊÇÔÚµ±Ç°Ï̵߳±WRITE±»Ö´ÐеÄʱºò,¼´Ê¹Ö®Ç°¼ÓÁËREADû±»È¡Ïû,Ò²»á±»È¡Ïû.
LOW_PRIORITY WRITE
½µµÍÓÅÏȼ¶µÄWRITE,ĬÈÏWRITEµÄÓÅÏȼ¶¸ßÓÚREAD.¼ÙÈ統ǰÏ̵߳ÄLOW_PRIORITY WRITEÔÚÁжÓÀïÃæ,ÔÚδִÐÐ֮ǰÆäËûÏ̴߳«ËÍÒ»ÌõREAD,ÄÇôLOW_PRIORITY WRITE¼ÌÐøµÈ´ý.
µ±ÄúʹÓÃLOCK TABLESʱ£¬Äú±ØÐëËø¶¨Äú´òËãÔÚ²éѯÖÐʹÓõÄËùÓÐµÄ±í¡£ËäȻʹÓÃLOCK TABLESÓï¾ä»ñµÃµÄËø¶¨ÈÔÈ»ÓÐЧ£¬µ«ÊÇÄú²»ÄÜ·ÃÎÊûÓб»´ËÓï¾äËø¶¨µÄÈÎºÎµÄ±í¡£Í¬Ê±£¬Äú²»ÄÜÔÚÒ»´Î²éѯÖжà´ÎʹÓÃÒ»¸öÒÑËø¶¨µÄ±í——ʹÓñðÃû´úÌæ£¬ÔÚ´ËÇé¿öÏ£¬Äú±ØÐë·Ö±ð»ñµÃ¶Ôÿ¸ö±ðÃûµÄËø¶¨¡£
ÊÖ²á¸ø³öÁËÈçϵÄÀý×Ó:
mysql> LOCK TABLE t WRITE, t AS t1 WRITE;#´ËÊ±Ëø¶¨µÄÓ¦¸ÃËãÊÇt±íºÍËüµÄ±ðÃût1
mysql> INSERT INTO t SELECT * from t;#´ËʱʹÓÃÁË2´Ît±í
ERROR 1100: Table 't' was not locked with LOCK TABLES
mysql> INSERT INTO t SELECT * from t AS t1;
Èç¹ûÄúµÄ²éѯʹÓÃÒ»¸ö±ðÃûÒýÓÃÒ»¸ö±í£¬ÄÇôÄú±ØÐëʹÓÃͬÑùµÄ±ðÃûËø¶¨¸Ã±í¡£Èç¹ûûÓÐÖ¸¶¨±ðÃû£¬Ôò²»»áËø¶¨¸Ã±í¡£
mysql> LOCK TABLE t READ;
mysql> SELECT * from t AS myalias;#ÒòΪ²»ÄÜ·ÃÎÊûÓб»Óï¾äËø¶¨µÄÈκεıí,Ó¦¸ÃËã°É±ðÃûmyaliasËã×÷±íÁË
ERROR 1
Ïà¹ØÎĵµ£º
ÊýÖµÀàÐÍ
¡¡¡¡MySQL
µÄÊýÖµÊý¾ÝÀàÐÍ¿ÉÒÔ´óÖ»®·ÖΪÁ½¸öÀà±ð£¬Ò»¸öÊÇÕûÊý£¬ÁíÒ»¸öÊǸ¡µãÊý»òСÊý¡£Ðí¶à²»Í¬µÄ×ÓÀàÐͶÔÕâЩÀà±ðÖеÄÿһ¸ö¶¼ÊÇ¿ÉÓõģ¬Ã¿¸ö×ÓÀàÐÍÖ§³Ö²»Í¬´óСµÄÊý¾Ý£¬²¢ÇÒ
MySQL ÔÊÐíÎÒÃÇÖ¸¶¨ÊýÖµ×Ö¶ÎÖеÄÖµÊÇ·ñÓÐÕý¸ºÖ®·Ö»òÕßÓÃÁãÌî²¹¡£
¡¡¡¡±íÁгöÁ˸÷ÖÖÊýÖµÀàÐÍÒÔ¼°ËüÃǵÄÔÊÐí·¶Î§ºÍÕ¼ÓõÄÄÚ´æ¿Õ¼ä¡ ......
MySQLÖ§³Öµ¥Ïò¡¢Òì²½¸´ÖÆ£¬¸´Öƹý³ÌÖÐÒ»¸ö·þÎñÆ÷³äµ±Ö÷·þÎñÆ÷£¬¶øÒ»¸ö»ò¶à¸öÆäËü·þÎñÆ÷³äµ±´Ó·þÎñÆ÷¡£Ö÷·þÎñÆ÷½«¸üÐÂдÈë¶þ½øÖÆÈÕÖ¾Îļþ£¬²¢Î¬»¤ÈÕÖ¾ÎļþµÄÒ»¸öË÷ÒýÒÔ¸ú×ÙÈÕ־ѻ·¡£µ±Ò»¸ö´Ó·þÎñÆ÷Á¬½Óµ½Ö÷·þÎñÆ÷ʱ£¬Ëü֪ͨÖ÷·þÎñÆ÷´Ó·þÎñÆ÷ÔÚÈÕÖ¾ÖжÁÈ¡µÄ×îºóÒ»´Î³É¹¦¸üеÄλÖᣴӷþÎñÆ÷½ÓÊÕ´ÓÄÇʱÆð·¢ÉúµÄÈκθüУ¬È ......
˵Ã÷: ÔÚMYSQLÖУ¬Èç¹ûʹÓÃȱʡµÄ×Ö·û¼¯£¬ÔÚ½¨¿â¡¢½¨±íʱ£¬Ä¬ÈÏʹÓõÄÊÇlatin1×Ö·û¼¯£¬
ΪISO 8859-1Î÷Å·×Ö·û¼¯¡£²åÈëÖÐÎÄ×Ö·ûʱ£¬ÓëÖ®²»Æ¥Å䣬¾Í»á³öÏÖÂÒÂë¡£
¡¾½â¾ö·½°¸¡¿
1. ´ò¿ªÎļþ: C:\Program Files\MySQL\MySQL Server 5.0\my.ini;
2. ½«ÆäÖеÄdefault-character-set=latin1¸ÄΪdefault-character-set=gb2312,
......
ʵÀýÒ»£ºÎ޲εĴ洢¹ý³Ì
$conn = mysql_connect('localhost','root','root') or die ("Êý¾ÝÁ¬½Ó´íÎó!!!");
mysql_select_db('test',$conn);
$sql = "
create procedure myproce()
begin
INSERT INTO user (id, username, sex) VALUES (NULL, 's', '0');
end;
";
mysql_query($sql);//´´½¨Ò»¸ömyproceµÄ´æ´¢¹ý³Ì
......
Èç¹ûÄãÊǸöÈü³µÊÖ£¬²¢ÇÒ°´Ò»Ï°´Å¥¾ÍÄܹ»Á¢¼´¸ü»»ÒýÇæ¶ø²»ÐèÒª°Ñ³µ¿ªµ½³µ¿âÀïÈ¥»»£¬ÄÇ»áÊÇʲô¸Ð¾õÄØ£¿MySQLÊý¾Ý¿âΪ¿ª·¢ÈËÔ±Ëù×öµÄ¾ÍºÃÏñÊǰ´°´Å¥»»ÒýÇæ£»ËüÈÃÄãÑ¡ÔñÊý¾Ý¿âÒýÇæ£¬²¢¸øÄãÒ»Ìõ¼òµ¥µÄ;¾¶À´Çл»Ëü¡£
MySQLµÄ×Ô´øÒýÇæ¿Ï¶¨Êǹ»ÓÃÁË£¬µ«ÊÇÔÚÓÐЩÇé¿öÏ£¬ÆäËûµÄÒýÇæ¿ÉÄÜÒª±ÈÊÖÍ·ËùÓøüÊʺÏÍê³ÉÈÎÎñ¡£Èç¹ûÔ¸ ......