python-mysql Commands out of sync
問題描述
python 執(zhí)行mysql 出現(xiàn)Commands out of sync; you can’t run this command now請(qǐng)問怎么解決啊錯(cuò)誤提示:Exception mysql_exceptions.ProgrammingError: (2014, 'Commands out of sync; you can’t run this command now') in <bound method DictCursor.__del_ of <MySQLdb.cursors.DictCursor object at 0x7f5ebc265050>> ignored
import jsonimport reimport tracebackimport binasciiimport time
from django.db import modelsimport MySQLdb as mdbimport MySQLdb.cursors
search_conn = mdb.connect(’127.0.0.1’, ’**’, ’’, ’’, port=9306, charset=’utf8’, cursorclass=MySQLdb.cursors.DictCursor)search_conn.ping(True)re_punctuations = re.compile(
ur'。|,|,|!|…|!|《|》|<|>|'|’|:|:|?|?|、|||“|”|‘|’|;||—|_|=|(|)|·|(|)| |.|【|】|『|』|@|&|%|^|*|+|||<|>|~|`|[|]')
def get_conn():
return mdb.connect(’127.0.0.1’, ’***’, ’’, ’’, port=9306, charset=’utf8’, cursorclass=MySQLdb.cursors.DictCursor)
def escape_string(string):
return re.sub(r'([’`=()|-!@~'&/^$])', r'1', string)
def split_words(string):
string = re_punctuations.sub(u’ ’, string).replace(u’-’, u’ ’)words = []for w in string.split(): try:words.append(w.encode(’ascii’).decode(’ascii’)) except:for c in w: words.append(c)return u’|’.join(words).strip(u’|’)
class HashManager(models.Manager):
def search(self, keyword, start=0, count=10, category=None, sort=None): search_cursor = search_conn.cursor() sql = ’’’SELECT id FROM rt_main’’’ conds = [] values = [] if keyword:conds.append(’MATCH(%s)’)values.append(escape_string(keyword)) if category:conds.append(’category=%s’)values.append(binascii.crc32(category)&0xFFFFFFFFL) if conds:sql += ’ WHERE ’ + ’ AND ’.join(conds) if sort == ’create_time’:sql += ’ ORDER BY create_time DESC ’ elif sort == ’length’:sql += ’ ORDER BY length DESC ’ sql += ’’’LIMIT %s,%sOPTION max_matches=1000, max_query_time=200 ’’’ search_cursor.execute(sql, values + [start, count]) items = list(search_cursor.fetchall()) search_cursor.execute(’SHOW META’) meta = {} for d in search_cursor.fetchall():meta[d[’Variable_name’]] = d[’Value’] sql = ’’’SELECT category, COUNT(*) AS num FROM rt_main ’’’ if conds:sql += ’ WHERE ’ + ’ AND ’.join(conds) sql += ’’’ GROUP BY category OPTION max_query_time=200’’’ search_cursor.execute(sql, values) cats = list(search_cursor.fetchall())res = {’result’: { ’items’: items, ’meta’: meta,},’cats’: { ’items’: cats,}, } search_cursor.close() return resdef list_with_files(self, ids): res = [] if len(ids[0]) == 40:items = Hash.objects.filter(info_hash__in=ids).values() else:items = Hash.objects.filter(id__in=ids).values() res = list(items) items = FileList.objects.filter(info_hash__in=[x[’info_hash’] for x in res]).values() for x in res:for y in items: if x[’info_hash’] == y[’info_hash’]:try: x[’files’] = json.loads(y[’file_list’])except ValueError: pass items = Extra.objects.filter(hash_id__in=ids).values() for x in res:for y in items: if x[’id’] == y[’hash_id’]:x[’extra’] = y return resdef list_related(self, hash_id, name, count=10): string = split_words(name) if not string:return [] search_conn = get_conn() search_cursor = search_conn.cursor() try:sql = ’’’SELECT id FROM rt_main WHERE MATCH(%s) AND id<>%s LIMIT 0,%s OPTION max_matches=1000, max_query_time=200’’’search_cursor.execute(sql, (string, hash_id, count))ids = [x[’id’] for x in search_cursor.fetchall()]items = Hash.objects.only(’name’, ’length’, ’create_time’, ’id’).filter(id__in=ids).values() except:traceback.print_exc()items = [] search_cursor.close() search_conn.close() return items
問題解答
回答1:這個(gè)是Mysql報(bào)的錯(cuò),你分析一下自己的sql語句,看有沒有什么問題
相關(guān)文章:
1. mysql - SQL操作時(shí)間的函數(shù)?2. golang - 用IDE看docker源碼時(shí)的小問題3. 正則表達(dá)式 - python pandas的sep參數(shù)問題4. docker網(wǎng)絡(luò)端口映射,沒有方便點(diǎn)的操作方法么?5. MYSQL新建用戶設(shè)置可以遠(yuǎn)程訪問的問題6. 關(guān)docker hub上有些鏡像的tag被標(biāo)記““This image has vulnerabilities””7. python - 求一個(gè)在def中可以實(shí)現(xiàn)調(diào)用本def滿足特定條件continue效果的方法(標(biāo)題說不太清楚,請(qǐng)見題內(nèi)描述)8. javascript - ionic run android報(bào)錯(cuò)9. docker內(nèi)創(chuàng)建jenkins訪問另一個(gè)容器下的服務(wù)器問題10. javascript - 用表單提交兩個(gè)時(shí)間段請(qǐng)求后臺(tái)返回對(duì)應(yīng)數(shù)據(jù)時(shí)出現(xiàn)的一些問題!
