我想把变量传递给我的sqlinsert语句。扳手似乎使用以下语法来指定变量@param。如https://cloud.google.com/spanner/docs/lexical#query-parameters所述。我是Python新手,所以我不太理解它的语法,因为它会抛出错误“noparameterfoundforbinding:messageid”,同样的代码使用硬编码的值正确执行。在
这是我的代码:
messageid = str(uuid.uuid4())
sender = newmsg['Sender']
recipient = newmsg['Recipient']
message = newmsg['Message']
def insert_message(transaction):
self.logger.debug("Inside insert_with_dml")
row_ct = transaction.execute_update(
"INSERT MESSAGE_STORE (MessageId, Message, MessageRecipient, MessageSender) "
" VALUES (@messageid, @message, @recipient, @sender)"
)
更新:如果有人感兴趣,这里是工作代码
^{pr2}$
请参阅下面有关Using STRUCT objects as bound parameters in SQL queries的文档部分
相关问题 更多 >
编程相关推荐