2017-10-15 46 views
0

我是Python和MySQL的新手。我有一個數據庫命名爲我的本地主機有3列的例子。將新值添加到MySQL中現有的列值

mysql> select * from words; 
+----+--------+------------------------------------+ 
| id | userid | inputs        | 
+----+--------+------------------------------------+ 
| 1 | aneesh | company's names wow!!! how? etc... | 
+----+--------+------------------------------------+ 
1 row in set (0.00 sec) 

inputs列可以包含任何字符(所以我已經給text數據類型)

我想要寫一個Python代碼從用戶輸入需要的所有值(字數字和特殊字符),並將其存儲在db中的inputs列中,而不改變以前的值(如在列表中追加)。

如: -

raw_input("Enter Anything: ") 
Enter Anything: (abcd) awesome!!! @aneesh #tags 

現在inputs列中的值應該是

company's names wow!!! how? etc... (abcd) is awesome!!! @aneesh #tags 

是啊...我想分別訪問這些值的話,這樣我可以進一步將其處理到如果用戶輸入下一次已存在的單詞,則進行比較並給出錯誤。

任何想法我該怎麼做?

回答

0

您可以編寫和更新語句並使用現有值附加它。

假設v_input是從用戶輸入得到什麼和v_userid

UPDATE words SET inputs = CONCAT(inputs, v_input) WHERE userid =v_userid 
+0

感謝。我添加了單詞,但它顯示了一些特殊字符(如**(**))的錯誤,並且我使用了這個 - 「cur.execute(」UPDATE words SET inputs = CONCAT(inputs,'%s')「%(v_input ))'。 –

+0

我可以添加除 - (')以外的其他任何字符。就像輸入是'Ravi's'一樣,它會顯示錯誤。我該如何解決它?謝謝。 –

+0

@Aneeshbhat你可能需要逃避它。因爲,那是特殊字符 – Ravi