使用 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()
任何想法将不胜感激。提前谢谢了。
最好的,亚历克斯