%s प्लेसहोल्डर्स के आसपास के एकल उद्धरण गलत हैं और %d का उपयोग नहीं किया जाता है दस्तावेज़ों के अनुसार . बदलें
db.cursor.execute("insert into person (company_id, first, last, type) values (%d, '%s', '%s', %d);", (company_id, name[0], name[1], type))
करने के लिए
db.cursor.execute("insert into person (company_id, first, last, type) values (%s, %s, %s, %s);", (company_id, name[0], name[1], type))