<p>我已尝试了所有方法,但不断出现以下错误:</p>
<pre><code>pymysql.err.ProgrammingError: (1064, "You have an error in your SQL syntax;
check the manual that corresponds to your MariaDB server version for the right syntax to use near
'INSERT INTO tabSingles (doctype, field, value) VALUES ('Bank Reconciliation', 'a' at line 2")
</code></pre>
<p>扩展查询(在python格式扩展之后):</p>
<pre><code>SELECT value INTO @var FROM tabSingles WHERE doctype = 'Bank Reconciliation' AND field = 'bank_account';
INSERT INTO tabSingles (doctype, field, value) VALUES ('Bank Reconciliation', 'account', @var);
DELETE FROM tabSingles WHERE doctype = 'Bank Reconciliation' AND field = 'bank_account';
</code></pre>
<p>有人看到问题了吗?多行查询是否存在问题?我在mariadb命令行上尝试了单独的几行,它们似乎按预期工作。我还尝试了frappe.db.sql和multisql(虽然它意味着多行sql,但实际上并非如此)。如果我将第2行注释掉,第3行也会出现错误。抱歉打扰了,我已经盯着这个看了好几个小时了,想不出来了</p>
<p>编辑:
显而易见的答案是这样的,但我仍然想知道为什么它不喜欢原始查询:</p>
<pre><code>UPDATE tabSingles SET field='{new_name}' WHERE doctype='{doctype}' AND field='{old_name}';
</code></pre>