我有一个名为Students
的数据库表,我想使用SQL删除记录。这是我的代码:
uid = int(input("Please enter students ID: "))
c.execute("DELETE FROM Students WHERE ID = (uid) ")
我想将ID
变量(uid
)输入c.execute
提前致谢。
答案 0 :(得分:3)
您不得使用其他答案中建议的字符串插值;虽然在这种特殊情况下它可能没问题,但通常它是不安全的,因为它会打开你的SQL注入。相反,请使用execute
方法中的参数支持:
uid = int(input("Please enter students ID: "))
c.execute("DELETE FROM Students WHERE ID = %s", (uid,))
答案 1 :(得分:1)
丹尼尔罗斯曼所说的应该是正确的答案。
您可以插入ID作为.execute方法的参数。有关此here
的答案答案 2 :(得分:0)
基本上语法是:
"some string: %s, some int: %i, some double: %d" % (string_var,int_var,double_var)
这样:
uid = int(input("Please enter students ID: "))
c.execute("DELETE FROM Students WHERE ID = %i" % (uid))