0

使用 Mysql 连接器和 Python,我试图将最简单形式的空间数据(Point 数据类型)传递给我的 MySQL 数据库。使用 mysql 连接器,Option1 中的“执行”功能有效,而 Option2 中的相同命令不起作用,给我“您的 SQL 语法有错误”错误。

您能否分享一下为什么选项 2“mycursor.execute(sql, val)”给我一个错误的想法?

import mysql.connector
from Functions import *
mydb = mySqlConnection()
mycursor = mydb.cursor()
Latitude=5.245 # Values are random
Longitude=1.66 # Values are random
Location = "ST_GeomFromText('POINT("+str(Latitude)+" "+str(Longitude)+")')"

#OPTION 1 - WORKS
sql = "INSERT INTO test (Location) VALUES ("+Location+")"
mycursor.execute(sql)

#OPTION 2 - DOES NOT WORK
sql = "INSERT INTO test (Location) VALUES (%s)"
val = (Location) 
mycursor.execute(sql, val)

mydb.commit()

任何想法将不胜感激。提前谢谢了。

最好的,亚历克斯

4

0 回答 0