Python SQLite语句中无法识别的标记
我将数据从一个表插入到另一个表,但是由于某种原因,我得到了“无法识别的令牌”。代码如下:Python SQLite语句中无法识别的标记,python,sql,database,sqlite,Python,Sql,Database,Sqlite,我将数据从一个表插入到另一个表,但是由于某种原因,我得到了“无法识别的令牌”。代码如下: cur.execute("INSERT INTO db.{table} SELECT distinct latitude, longitude, port FROM MessageType1 WHERE latitude>={minlat} AND latitude<={maxlat} AND longitude>= {minlong} AND longitude<= {maxlon
cur.execute("INSERT INTO db.{table} SELECT distinct latitude, longitude, port FROM MessageType1 WHERE latitude>={minlat} AND latitude<={maxlat} AND longitude>= {minlong} AND longitude<= {maxlong}".format(minlat = bottomlat, maxlat = toplat, minlong = bottomlong, maxlong = toplong, table=tablename))
有三个小数点的问题吗
这是表的create语句:
cur.execute("CREATE TABLE {site} (latitude, longitude, port)".format(site = site))
不要通过字符串格式进行SQL查询,使用驱动程序的功能准备SQL查询并将参数传递到查询中-这样可以避免SQL注入,并使传递不同类型参数的处理变得透明:
query = """
INSERT INTO
db.{table}
SELECT DISTINCT
latitude, longitude, port
FROM
MessageType1
WHERE
latitude >= ? AND
latitude <= ? AND
longitude >= ? AND
longitude <= ?
""".format(table=tablename)
cur.execute(query, (bottomlat, toplat, bottomlong, toplong))
query=”“”
插入
db.{table}
选择不同的
纬度、经度、港口
从…起
消息类型1
哪里
纬度>=?和
纬度=?和
经度尝试使用?作为参数:
cur.execute("INSERT INTO db.? SELECT distinct latitude, longitude, port FROM MessageType1 WHERE latitude>=? AND latitude<=? AND longitude>= ? AND longitude<= ?",(bottomlat, toplat, bottomlong, toplong, tablename))
cur.execute(“插入到数据库中。?从MessageType1中选择不同的纬度、经度、端口,其中纬度>=?和纬度=?以及经度)。我相信SQLite for Python使用?
作为参数
query = """
INSERT INTO
db.{table}
SELECT DISTINCT
latitude, longitude, port
FROM
MessageType1
WHERE
latitude >= ? AND
latitude <= ? AND
longitude >= ? AND
longitude <= ?
""".format(table=tablename)
cur.execute(query, (bottomlat, toplat, bottomlong, toplong))
cur.execute("INSERT INTO db.? SELECT distinct latitude, longitude, port FROM MessageType1 WHERE latitude>=? AND latitude<=? AND longitude>= ? AND longitude<= ?",(bottomlat, toplat, bottomlong, toplong, tablename))