1

我正在尝试将数据输出到 MySQL 数据库中。我可以创建数据库并连接到它(在遇到很多问题之后)。

现在我想将数据写入数据库。我使用以下代码:

cur.execute("INSERT INTO AmazonSalesRank(Artist_Name) VALUES(artist_name)")

如果我输入一个真正的价值而不是

artist_name

例如

"Bon Jovi"

一旦我有了变量,它就没有。代码错了吗?任何想法?

编辑:我也刚刚看到数据被推送到几行而不是一行...我必须合并语句吗?

4

2 回答 2

1

artist_name这里只是一个文字字符串。并尝试:

cur.execute("INSERT INTO AmazonSalesRank(Artist_Name) VALUES(%s)", [artist_name])
于 2013-06-03T07:24:51.570 回答
-1

要使用像艺术家姓名这样的变量而不是像“Bon Jovi”这样的字符串,您应该正确连接字符串,例如:

"The "+artist_name+" is cool"

会导致“邦乔维很酷”

使用 "+"Bon Jovi"+" is cool" 会产生与 "The ""Bon Jovi"" is cool" 相同的字符串,而没有 + 号,这就是这里发生的情况,您是在隐式连接字符串。

所以你应该使用类似的东西:

cur.execute("INSERT INTO AmazonSalesRank("+Artist_Name+") VALUES(artist_name)")

有关字符串格式的更多信息,请查看http://docs.python.org/2/library/string.html#string-formatting

于 2013-06-03T07:30:49.943 回答