_MySQL_exceptions.ProgrammingError:(2014,“命令不同步;您现在无法运行此命令”)?

问答 小菜牛 ⋅ 于 2020-08-08 15:08:12 ⋅ 最后回复由 潘牛 2020-08-08 23:02:28 ⋅ 1830 阅读

file


#-*- encoding: utf-8 -*-
'''
db_test.py
Created on 2019/6/25 11:14
Copyright (c) 2019/6/25, 海牛学院版权所有.
@author: 潘牛
'''
from commons.until.db_util  import DBUtil
from configs.config import _HAINIU_DB
db_util = DBUtil(_HAINIU_DB)

# 设置字符集是utf8mb4
db_util.execute_no_commit("set NAMES utf8mb4;")
# # 插入两次,两次在同一个事务里
import time, traceback
sql = """
insert into hainiu_queue (type,action,params) values (%s, %s, %s);      #一个sql
"""
try:

    params = [1, 'www.hainiubl.com', "ff"]                              #执行一次
    db_util.execute_no_commit(sql, params)
    # 1/0
    time.sleep(5)                                                       #执行以后  休眠5秒

    params = [1, 'www.hainiubl.com', "gg"]                              # 执行第二次
    db_util.execute_no_commit(sql, params)                              #不提交       在同一事物里
    time.sleep(5)                                                       #再过5秒

    db_util.commit()                                                    # 一共10秒以后 提交

except Exception, e:
    db_util.rollback()
    traceback.print_exc(e)

finally:
    db_util.close()

sql = """
insert into hainiu_queue (type,action,params) values (%s, %s, %s);
"""
params = []
#  在表中 循环插入的   数量
for i in range(1,11):
    params.append((1,'www.hainiubl.com%d' % i, "aa%d" % i))
db_util.executemany(sql, params)
附言 0  ·  2020-08-08 23:17:04

-- encoding: utf-8 --

'''
db_test.py
Created on 2019/6/25 11:14
Copyright (c) 2019/6/25, 海牛学院版权所有.
@author: 潘牛
'''
from commons.until.db_util import DBUtil
from configs.config import _HAINIU_DB
db_util = DBUtil(_HAINIU_DB)

设置字符集是utf8mb4

db_util.execute_no_commit("set NAMES utf8mb4;")

插入两次,两次在同一个事务里

import time, traceback
sql = """
insert into hainiu_queue (type,action,params) values (%s, %s, %s); #一个sql
"""

try:

params = [1, 'www.hainiubl.com', "ff"]                              #执行一次
db_util.execute_no_commit(sql, params)
# 1/0
time.sleep(5)                                                       #执行以后  休眠5秒

params = [1, 'www.hainiubl.com', "gg"]                              # 执行第二次
db_util.execute_no_commit(sql, params)                              #不提交       在同一事物里
time.sleep(5)                                                       #再过5秒

db_util.commit()                                                    # 一共10秒以后 提交

except Exception, e:
db_util.rollback()
traceback.print_exc(e)

finally:
db_util.close()

sql = """
insert into hainiu_queue (type,action,params) values (%s, %s, %s);
"""
params = []

在表中 循环插入的 数量 for i in range(1,11): params.append((1,'www.hainiubl.com%d' % i, "aa%d" % i)) db_util.executemany(sql, params)

成为第一个点赞的人吧 :bowtie:
回复数量: 1
  • 潘牛 在这个世界里,都要好好活着
    2020-08-08 23:02:28

    SQL语句字符串中增加了 #一个sql, sql语法报错

暂无评论~~
  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,可用Emoji的自动补全, 在输入的时候只需要 ":" 就可以自动提示了 :metal: :point_right: 表情列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif,教程
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
Ctrl+Enter