我有this example用于将数据插入到funsiontables中......
代码基本上创建一个新表并将其id存储到变量中以支持插入,更新或删除功能。该代码来自2010/2011,我认为谷歌从那时起改变了table_id格式,因为我在下面的行中收到以下错误:
return 'INSERT INTO %d (%s) VALUES (%s)' % \
(int(table_id), ','.join(["'%s'" % col for col in cols]), stringValues)
错误:
(int(table_id), ','.join(["'%s'" % col for col in cols]), stringValues)
ValueError: invalid literal for int() with base 10: '1PHHo1h0tA0VxI09mAH0AH_IDNUpN5Hm-aTaAqO0'
我可以简单地将其更改为简单的SQL语句,但我确信我需要在项目的后续步骤中处理table_id或row_id。所以,我想保持它已经完成的方式,如果可能的话,修复它。但是,我无法理解通过table_id转换为int的问题“1PHHo1h0tA0VxI09mAH0AH_IDNUpN5Hm-aTaAqO0”......
函数int()支持任何整数或字符串...
有人可以帮我吗?
答案 0 :(得分:2)
table_id
似乎不是数字整数。
您可以尝试按如下方式修改代码:
return 'INSERT INTO %s (%s) VALUES (%s)' % \
(table_id, ','.join(["'%s'" % col for col in cols]), stringValues)
换句话说,使用table_id
作为简单字符串。