我在JetBrains PyCharm Community Edition 4.0.4中使用Python中的SQLite3。在由句子構成的列中搜索單詞
我有一張表,看起來像這樣。 ID是整數,名稱和內容是文本。
ID Name Content
1 Matt oirefasd aifsfnib if ib @John sefuhrg wefirwgf
2 John sdfwre frwgfwg wegfhtr @Patsfrwg
3 Pat asjgre wurgjnsow wouregjeo @Johnsfbwufaeovnwo
4 John sfgoe eriogner weogfib
因此,這裏是我的問題, 假設一個用戶John,已登錄。我怎樣寫SQLite的查詢,這樣我收到包含開始與@符號後跟用戶所記錄的消息的行在(內容)列中的(John)中。
我應該得到的答案是一個元組(ID,名稱,內容)
因此,解決辦法應該是:
ID Name Content
1 Matt oirefasd aifsfnib if ib @John sefuhrg wefirwgf
3 Pat asjgre wurgjnsow wouregjeo @Johnsfbwufaeovnwo
這是我目前的SQL查詢。在這種情況下,currentuser存儲當前登錄用戶的名稱。
str = '%'+ currentuser + '%'
c = db.cursor()
sql = "SELECT id, Name, content FROM myusers WHERE myusers.content LIKE ? LiMIT ?"
c.execute(sql,(str,limit))
return [x[0] for x in c]
我不斷收到這說的錯誤「‘詮釋’對象未標化」
這上面的代碼是越來越對我的單元測試的語句進行測試。這種說法是:
self.assertListEqual([1, 3], [a[0] for a in posts])
您是否嘗試過打印出'x'值來查看它們是什麼?這應該解釋爲什麼你會得到這個錯誤。 – abarnert
我忘了提及我是python的新手。我嘗試使用循環來打印所有的值,但Jetbrains IDE不允許我從.py文件打印。 – Timetraveller
你是什麼意思「Jetbrains IDE不允許我從.py文件打印」? PyCharm絕對可以讓你「打印」。它還允許您在集成調試器中設置斷點,寫入文件以及其他一百萬個事物。如果你至少不知道如何做這些事情,你永遠無法調試任何東西,這意味着你永遠無法編寫任何代碼。 – abarnert