如何使用Python創建具有SHA1或MD5如sqlite3的表名的表,我收到異常OperationalError說無法識別的令牌,是否有任何替代方法sqlite3的無法識別的令牌錯誤
0
A
回答
2
我假設你正在使用像md5.hexdigest()這樣的函數的值作爲表名。如果是這樣,那麼你需要考慮到事實哈希值可能從一個數字開始。 SQLite不允許你從一個數字開始表名。最簡單的解決方案是添加某種前綴,如:
>>> table_name = "table%s" % hashlib.sha1('blurp').hexdigest()
>>> print(table_name)
table5187399948bdcff4fa10220cd8509257567c6b5a
+0
謝謝我做到了 – abhijeet 2012-03-24 18:36:48
1
廠細對我來說:
>>> import sqlite3
>>> conn = sqlite3.connect(':memory:')
>>> conn.execute('create table md5 (mycol)') # if you're being very literal
<sqlite3.Cursor object at 0x35b7dc0>
>>> import hashlib
>>> tbl_name = hashlib.sha1('test').hexdigest()
>>> conn.execute('create table {} (mycol)'.format(tbl_name)) # otherwise
<sqlite3.Cursor object at 0x35b7dc0>
警告:不要在你得到用戶輸入,你將在對SQL注入攻擊的風險的任何設置使用字符串插值。
相關問題
- 1. sqlite3.OperationalError:無法識別的令牌:「{」
- 2. 「sqlite3.operationalerror無法識別的令牌」錯誤
- 3. 無法識別的令牌
- 4. sqlite3.OperationalError:無法識別的令牌:「01T00」Python日期戳
- 5. antlr4令牌識別錯誤:'$'
- 6. 令牌識別錯誤:ANTLR
- 7. android android.database.sqlite.SQLiteException中的SQL錯誤:無法識別的令牌
- 8. SQLite錯誤無法識別的令牌Unity
- 9. JIRA Rest API錯誤。無法識別的令牌創建問題
- 10. Flex中的令牌識別錯誤
- 11. 錯誤:無法識別的命令
- 12. SQLiteException:無法識別的令牌
- 13. sqlite無法識別的令牌
- 14. 無法識別的令牌和
- 15. Sqlite'無法識別的令牌:「:」C++
- 16. ReactJS無法識別的令牌導入
- 17. android.database.sqlite.SQLiteException:無法識別的令牌:
- 18. ANTLR 4中的簡單島語法:令牌識別錯誤
- 19. 的Windows PowerShell無法識別的sqlite3
- 20. Java錯誤無法識別的錯誤
- 21. 使用RubyOnRails時出現另一個無法識別的令牌錯誤SQLite3適配器
- 22. JSON解析錯誤:無法識別的令牌'<'處於角度
- 23. 如何擺脫錯誤「無法識別的令牌:」#「」在軌搜索查詢?
- 24. 在命令提示符(Python2.7)中無法識別Sqlite3命令
- 25. 無法識別錯誤
- 26. 無法識別signalmap錯誤
- 27. '.class'錯誤無法識別?
- 28. 無法識別Django錯誤
- 29. 令牌識別錯誤:解析c語法時'#i'
- 30. Flex的「無法識別的錯誤」
請發佈完整的追溯和代碼的相應部分。謝謝。 – bernie 2012-03-24 09:36:39