我有一个名为foo的数据库(mysql)表,其主键是bigint类型,并且自动增量, 我编写以下代码来插入记录并获取记录的主键
q = db.insert('foo', name='bob', age=2, _test=True)
print q
此记录已插入表中,但我收到以下错误:
输入'exceptions.TypeError':'long'对象是unsubscriptable
你能帮我解决一下吗?
答案 0 :(得分:1)
当您尝试将TypeError: '<type>' object is not subscriptable
接口用于不支持它的对象时,会出现__getitem__
错误。通常看起来像container[...]
。
看看完整的追溯。在某个地方,您应该看到以这种方式访问的对象。由于您没有显示完整的回溯或其他代码,我无法告诉您在哪里。
答案 1 :(得分:0)
我怀疑问题是在打印q中 在web.py
的文档中没有提到它>>> db = DB(None, {})
>>> q = db.insert('foo', name='bob', age=2, created=SQLLiteral('NOW()'), _test=True)
>>> q
<sql: "INSERT INTO foo (age, name, created) VALUES (2, 'bob', NOW())">
>>> q.query()
'INSERT INTO foo (age, name, created) VALUES (%s, %s, NOW())'
>>> q.values()
[2, 'bob']