0

我正在使用此语句将数据插入数据库。

 cursor.execute('INSERT INTO scats_data(id,geometry,NB_SCATS_SITE,QT_INTERVAL_COUNT,NB_DETECTOR,DAY_OF_WEEK,V00,V01,V02,V03,V04,V05,\
    V06,V07,V08,V09,V10,V11,V12,V13,V14,V15,V16,V17,V18,V19,V20,V21,V22,V23,V24,V25,V26,V27,V28,V29,V30,V31,V32,V33,V34,V35,V36,\
    V37,V38,V39,V40,V41,V42,V43,V44,V45,V46,V47,V48,V49,V50,V51,V52,V53,V54,V55,V56,V57,V58,V59,V60,V61,V62,V63,V64,V65,V66,V67,V68,\
    V69,V70,V71,V72,V73,V74,V75,V76,V77,V78,V79,V80,V81,V82,V83,V84,V85,V86,V87,V88,V89,V90,V91,V92,V93,V94,V95,DS_LOCATION,NB_LANE,\
    LANE_MVT,LOC_MVT,HF,unique_road )' \
          'VALUES("%s", ST_GeomFromText("%s"),"%s", "%s","%s", "%s", "%s","%s", "%s", "%s","%s", "%s", "%s","%s", "%s", "%s","%s", "%s", "%s","%s", "%s",\
          "%s", "%s", "%s","%s", "%s", "%s","%s", "%s", "%s","%s", "%s", "%s","%s", "%s", "%s","%s", "%s", "%s","%s", "%s",\
          "%s", "%s", "%s","%s", "%s", "%s","%s", "%s", "%s","%s", "%s", "%s","%s", "%s", "%s","%s", "%s", "%s","%s", "%s",\
          "%s", "%s", "%s","%s", "%s", "%s","%s", "%s", "%s","%s", "%s", "%s","%s", "%s", "%s","%s", "%s", "%s","%s", "%s",\
          "%s", "%s", "%s","%s", "%s", "%s","%s", "%s", "%s","%s", "%s", "%s","%s", "%s", "%s","%s", "%s", "%s","%s", "%s",\
          "%s", "%s", "%s","%s", "%s", "%s",ST_GeomFromText("%s"))',row)

现在插入几何我引用了这个链接(http://dev.mysql.com/doc/refman/5.7/en/populating-spatial-columns.html)它说INSERT INTO geom VALUES (ST_GeomFromText('POINT(1 1)'));

在 SQL 中,数据是这样存储的:6828-1-1418515200000,POINT (142.4685224783753 -38.369480766871604),6828,2014-12-14T00:00:00.000Z

所以我想如果我认为 %s 将被替换为 ,POINT (142.4685224783753 -38.369480766871604)这与 MySQL 教程中的查询相同。

但是,它给出的错误IntegrityError: 1048 (23000): Column 'geometry' cannot be null.

行值

6828-1-1418515200000,POINT (142.4685224783753 -38.369480766871604),6828,2014-12-14T00:00:00.000Z,1,Sun,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,2,3,0,1,0,3,3,1,3,1,1,1,0,0,0,1,1,1,0,1,3,0,2,2,1,4,3,2,1,0,1,1,1,6,3,54,0,2,0,1,1,0,3,1,0,1,1,2,2,0,0,1,2,0,0,0,0,1,PRINCES HWY E OF LAVEROCK GRV,1,LEFT,ALL MOVES,11021,"MULTILINESTRING ((142.48801034854367 -38.381874507510574, 142.48570966059145 -38.380847669922076, 142.4834205640538 -38.37982518177907, 142.48163035372713 -38.37813371108973, 142.47989576432153 -38.37638226868625, 142.4780618391024 -38.37456025481361, 142.4777347288131 -38.374223298652254, 142.47742304568112 -38.3739738685488, 142.47712825035373 -38.37374407278146, 142.47577221023352 -38.37300570096153, 142.47481033576847 -38.372453092845404, 142.4740356560262 -38.37205034193404, 142.47280364651544 -38.371564735815014, 142.4694940306536 -38.370177144007, 142.46895950092957 -38.36993346030617, 142.4684829975748 -38.3696658943809, 142.46804910524443 -38.36940724743188, 142.46437932942334 -38.36724871261641, 142.46400949840813 -38.367014127924854, 142.46369738267254 -38.366842233151786, 142.45993341846577 -38.36463147890183, 142.45960729346984 -38.364437887024344))"
4

0 回答 0