कई चीजों की कोशिश करने के बाद मैंने देखा कि to_sql फ़ंक्शन काम करने के लिए सही MySQL सिंटैक्स उत्पन्न नहीं कर रहा था। इसके अलावा wkb में बदलने के दृष्टिकोण के साथ MySQL ने अभी भी उस कॉलम को ज्यामिति के रूप में मान्यता नहीं दी है यदि मैं पाठ को छोड़ देता हूं (प्रश्न में चित्र देखें)।
मेरे लिए जो काम किया वह था ज्यामिति क्षेत्र को स्ट्रिंग में बदलना और इसे अजगर में अपडेट करना ताकि यह इस तरह दिखे:
उसके बाद, मैं नीचे दिए गए कोड का उपयोग करने के लिए आगे बढ़ा, जहां मैं MySQL को डेटाफ्रेम भेजता हूं और फिर ज्यामिति कॉलम सेट करने के लिए तालिका को अपडेट करता हूं:
regions.to_sql('pr_regions', con=conn, schema='eq_pr_db',
if_exists='replace', index=False)
#add column type Polygon
conn.execute('''ALTER TABLE `eq_pr_db`.`pr_regions`
ADD COLUMN `geom` Polygon;''')
#populate new column by applying the ST_GeomFromText function to transform the string to geometry type.
conn.execute('''UPDATE `eq_pr_db`.`pr_regions`
SET geom = ST_GeomFromText(geometry) ;''')