SQL变量缺少引号

时间:2012-06-22 16:23:20

标签: python sql variables quotes

我正在使用数据库,而在column_x中,一些变量为NULL。由于有人不喜欢这个,我们决定将其更改为“无”。现在我使用以下命令在Python中更改它:

 query = "update stone set results = 'None' where results is null;"

但是当我这样做时:

 query = "SELECT * FROM stone where part = 'ABC';"

我输出'x','y','z',无,'a'

但是当我这样做时:

 query = "SELECT * FROM stone where part = 'ABC' and results = 'None';"

我得到了()。这可能是因为“无”不存在。因此短问题很长,如何更改无 - >通过Python'没有'?

1 个答案:

答案 0 :(得分:0)

我不确定你说的时候没有你的意思是null。 如果你打算将None表示为null,你可以使用这样的东西(MYSQL):

sql =“UPDATE stone set results = \'None \',其中result为null” cursor = conn.Execute($ sql) rows = cursor.Affected_Rows()

对于Oracle,执行此SQL:

sql =“UPDATE stone set results =''None''where results ='None'” cursor = conn.Execute($ sql) rows = cursor.Affected_Rows()

对于MYSQL,你需要使用反斜杠来逃避勾号 - 比如

sql =“UPDATE stone set results = \'None \'其中results ='None'” cursor = conn.Execute($ sql) rows = cursor.Affected_Rows()

另见 http://phplens.com/lens/adodb/adodb-py-docs.htm http://www.codersrevolution.com/index.cfm/2008/7/13/Just-when-you-felt-safe-SQL-Injection-and-MySQL