mysql ¹²ÏíËø ÅÅËûËø ·À²åÈëËø
ÊÔÑé1
ÊÂÎñ1£º
#!/usr/bin/python
import time
import MySQLdb;
conn = MySQLdb.connect(host="localhost",port=3306,user="root",passwd="asdf",db="test",unix_socket="/data/mysql_3306/mysql.sock")
cursor = conn.cursor()
cursor.execute("select * from test")
while str!="1":
str = raw_input()
cursor.execute("update test id=id-1")
while str!="exit":
str = raw_input()
cursor.close()
conn.close()
ÔÚmysqlÃüÁîÐÐÖÐÊäÈëÒÔÏ£º
mysql> select * from test;
µ±ÊÂÎñ1ÖеȴýÊäÈë1ʱ£¬ÏÔʾ³öselectÆ¥ÅäµÄÐÐ
µ±ÊÂÎñ1ÖÐÊäÈë1ʱ£¬ÏÔʾ½á¹ûÈçÏ£º
ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction
½áÂÛ£ºµ±selectʱ»á¼ì²âµ±Ç°ÊÇ·ñÓÐÊÂÎñ»áÐ޸썱ÈÓ°ÏìҪȷÇÐһЩ£©µ±Ç°µÄ¼Ç¼ʱ£¬²Å»á±»×èÈû¡£
ÊÔÑé2
ÔÚÊÂÎñ1£º
#!/usr/bin/python
import time
import MySQLdb;
conn = MySQLdb.connect(host="localhost",port=3306,user="root",passwd="asdf",db="test",unix_socket="/data/mysql_3306/mysql.sock")
cursor = conn.cursor()
cursor.execute("select * from test lock in share mode")
while str!="exit":
str = raw_input()
cursor.close()
conn.close()
ÔÚmysqlÃüÁîÐÐÖÐÊäÈëÒÔÏ£º
mysql> update test set id=id-1;
ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction
½áÂÛ£ºµ±ÊÂÎñÖаüº¬select ...lock in share modeµÄʱºò£¬Ïà¹Ø¼Ç¼½«»á±»Ëø×¡£¬²»ÔÊÐí½øÐÐÐ޸ġ£
ÊÔÑé3
Ö´ÐÐÏÂÃæµÄpython½Å±¾Á½±é£¬²¢ÇÒͬʱÊäÈë1£¬2Ö®ºó
#!/usr/bin/python
import time
import MySQLdb;
conn = MySQLdb.connect(host="localhost",port=3306,user="root",passwd="asdf",db="test",unix_socket="/data/mysql_3306/mysql.sock")
cursor = conn.cursor()
cursor.execute("select * from test lock in share mode")
str = ""
while str!="1":
str = raw_input()
while str!="2":
str = raw_input()
cursor.execute("update test set id=id-1")
while str!="exit":
str = raw_input()
cursor.close()
conn.close()
[root@TJSJHL196-139 tmp]# python test_transaction.py
1
2
Traceback (most recent call la
Ïà¹ØÎĵµ£º
ms sqlÖеÄintÐÍĬÈÏÊÇ4룬mysqlµÄintÐÍĬÈÏÊÇ11λ£¬Ç°Õßµ½ºóÕßµÄÒÆÖ²²»»áÓÐʲôÒþ»¼£¬µ«ÊǺóÕßµ½Ç°ÕßµÄÒÆÖ²¾Í´æÔÚλÊý²»¹»£¬²»ÄÜ´æ´¢´óÊýµÄÒþ»¼¡£
»¹ÓÐbigint£¬ms sqlÊÇ8룬mysqlĬÈÏÊÇ20λ¡£ ......
ΪʲôÕâÃ´ËµÄØ¡£ÒòΪ°¡ÎÒдÎÒ¹«Ë¾µÄ²éPVµÄÊý¾Ýʱ£¬·¢ÏÖ±íµÄ¹¦Äܲ»ÊǺÜÈ«£¬ÈÃÎÒÓÃÒ»¾ä»°Ð´³öÄÇôÀÏÅ£µÄSQLÓï¾äÕæµÄºÃÄÑ¡£
;̫×Űɣ¬ÎÒд³öÎÒÕâ¾ä»°À´¿´Ò»¿´¡£
<?php
//########################2010-1-24 22£º48
//#######################Êý¾Ý¿â²éѯ
//######################±¾³ÌÐò¹²ÓÐ3¸ösql·Ö±ðΪsql,sql5,sql ......
ÔÚ¿ª·¢ÏîĿʱ£¬Óöµ½Ò»¸öÎÊÌ⣬¾ÍÊÇÒªËæ»ú¶ÁȡһÕűíµÄ²¿·Ö¼Ç¼£¬²¢updateÉèÖÃΪ²»¿ÉÔÚ¶Á£¬ÕâÀï¾ÍÓÐÒ»¸öÎÊÌ⣬¿ÉÄܶà¸öÈËÍ¬Ê±Ëæ»úµ½ÏàͬµÄ¼Ç¼£¬²¢Öظ´×öupdate²Ù×÷£¬ÒýÆðÊý¾ÝÔà¶ÁºÍÖØ¸´²Ù×÷£¬
Òò´Ë¿¼ÂǸø±í¼ÓËø¡£µ«ÊDzÉÓÃÁËMyISAM£¬²»Ö§³ÖÊÂÎñ£¬Ö»ÄÜ¼Ó±í¼¶Ëø£¬¶øÇÒ±ðÈËÁ¬¶ÁµÄȨÏÞ¶¼Ã»ÓС£ÏÂÃæÊÇ2¸ö²âÊÔÎļþ£¬ÔÚfiref ......
½â¾ö·½·¨£º
1¡£ ¸Ä±í·¨¡£¿ÉÄÜÊÇÄãµÄÕʺŲ»ÔÊÐí´ÓÔ¶³ÌµÇ½£¬Ö»ÄÜÔÚlocalhost¡£Õâ¸öʱºòÖ»ÒªÔÚlocalhostµÄÄÇ̨µçÄÔ£¬µÇÈëmysqlºó£¬¸ü¸Ä "mysql" Êý¾Ý¿âÀïµÄ "user" ±íÀïµÄ "host" Ï´Ó"localhost"¸Ä³Æ"%"
mysql -u root -pvmwaremysql>use mysql;
mysql>update ......
MySQLÓÐËÄÖÖBLOBÀàÐÍ:
¡¡¡¡·tinyblob:½ö255¸ö×Ö·û
¡¡¡¡·blob:×î´óÏÞÖÆµ½65K×Ö½Ú
¡¡¡¡·mediumblob:ÏÞÖÆµ½16M×Ö½Ú
¡¡¡¡·longblob:¿É´ï4GB
¡¡¡¡ÔÚÿ¸öMySQLµÄÎĵµ(´ÓMySQL4.0¿ªÊ¼)µÄ½éÉÜÖÐ,Ò»¸ölongblobÁеÄ×î´óÔÊÐí³¤¶ÈÒÀÀµÓÚÔÚ¿Í»§/·þÎñÆ÷ÐÒéÖпÉÅäÖõÄ×î´ó°üµÄ´óСºÍ¿ÉÓÃÄÚ´æÊý¡£
¡¡¡ ......