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))