Python中文
首页
教程
问答
标签
搜索
登录
注册
使用ODBC时,我可以在SQL注释中添加任意文本吗?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>考虑由定义的表</p> <pre><code>CREATE TABLE Example (id INTEGER) </code></pre> <p>以及用于向<code>Example</code>添加元组的<code>INSERT</code>语句,在SQL注释中有一个<strong>单</strong>引号:</p> ^{pr2}$ <p>我通过<code>pyodbc</code>模块连接到MySQL。令人惊讶的效果似乎是<code>INSERT</code>命令随后总是失败。注释中有奇数个撇号。消息提到HY000和:</p> <pre><code>'The SQL contains 0 parameter markers, but 1 parameters were supplied' </code></pre> <p><strong>更新</strong>:该行为现在已经由MySQL支持人员进行了验证,因此有可能被归类为bug。请参阅Gord的答案,其中列出了另一个示例,以及指向MySQL bug数据库的注释。在</p> <p>下面列出了完整的测试脚本。我想知道这句话是否只是一个<strong>抓住了</strong>?但奇怪的是:</p> <p>如果语句文本是通过ODBC传递的,那么假设注释从<code>--</code>开始并扩展到行尾,这是错误的吗?(我确实在<code>--</code>后面加了一个空格,我使用SQL注释来实现可移植性。不同的注释字符或MySLQ块注释不会改变效果。)</p> <p>对ODBC会话的跟踪分别显示下面列出的成功和失败案例的<code>SQLNumParams</code>,分别为1和0。然而,这些陈述本身看起来是既定的。我试图假设换行符('\n')是无效的。但是下面的工作示例有两个引号(<code>my_cmd_with_two_qutoes</code>)或没有引号(即<code>my_cmd</code>用“*”替换“'”)的工作示例与此矛盾。在</p> <p>还是司机的问题?在</p> <pre><code>import pyodbc my_cmd = """-- Comment's device INSERT INTO Example (id) VALUES (?) """ my_cmd_with_two_quotes = """-- Comment's device's INSERT INTO Example (id) VALUES (?) """ conn = pyodbc.connect("DSN=Abcdef;PWD=...") thing_named_cursor = conn.cursor() # success, replacing the single apostrophe: thing_named_cursor.execute(my_cmd.replace("'", "*"), (123, )) # success, too: thing_named_cursor.execute(my_cmd_with_two_quotes, (456, )) # failure: try: thing_named_cursor.execute(my_cmd, (789, )) except pyodbc.Error, e: print("Error: %s" % e) conn.commit() conn.close() </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>你试过屏蔽评论吗?<code>/* mycomment */</code></p> <p>我的猜测是,在这种情况下,MySQL不会将这种语言的新行视为新行;或者连接可能会将“空白”处理到最小,以优化查询的发送(有效地剥离出新行)。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
我是否正确构建了这个递归神经网络
8 回答
我是否正确理解acquire和realease是如何在python库“线程化”中工作的
7 回答
我是否正确理解Keras中的批次大小?
9 回答
我是否正确理解PyTorch的加法和乘法?
6 回答
我是否正确组织了我的Django应用程序?
9 回答
我是否正确计算执行时间?如果是这样,那么并行处理将花费更长的时间。这看起来很奇怪
8 回答
我是否每次创建新项目时都必须在PyCharm中安装numpy?(安装而不是导入)
4 回答
我是否每次运行jupyter笔记本时都必须重新启动内核?
3 回答
我是否用python安装了socks模块?
2 回答
我是否真的需要知道超过一种语言,如果我想要制作网页应用程序?
4 回答
我是否缺少spaCy柠檬化中的预处理功能?
1 回答
我是否缺少给定状态下操作的检查?
2 回答
我是否能够使用函数“count()”来查找密码中大写字母的数量((Python)
3 回答
我是否能够使用用户输入作为colorama模块中的颜色?
10 回答
我是否能够创建一个能够添加新Django.contrib.auth公司没有登录到管理面板的用户?
9 回答
我是否能够将来自多个不同网站的数据合并到一个csv文件中?
4 回答
我是否能够将目录路径转换为可以输入python hdf5数据表的内容?
7 回答
我是否能够等到一个对象被销毁,直到它创建另一个对象,然后在循环中运行time.sleep()
7 回答
我是否能够通过CBV创建用户实例,而不是首先创建表单?(Django)
1 回答
我是否要使它成为递归函数?
4 回答