2017-10-15 47 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