SQL语句的编写

SQL语句的编写



[Copy to clipboard] [ - ]
CODE:
import pymssql
dbstring="delete from users where emailaddress=%s" % str(emailaddress)
#连接数据库并打开
con = pymssql.connect(host='192.168.1.71',user='sa',password='emailsms',database='shortmsg')
cur = con.cursor()
#执行SQL语句
cur.execute(str(dbstring))
con.commit()
con.close()

运行以上的代码,显示如下错误

[Copy to clipboard] [ - ]
CODE:
DatabaseError: internal error: SQL Server message 107, severity
e 1:
列前缀 'sun_able@kinca' 与查询中所用的表名或别名不匹配。
DB-Lib error message 10007, severity 5:
General SQL Server error: Check messages from the SQL Server.
(SQL Server message 107, severity 16, state 2, line 1:
列前缀 'sun_able@kinca' 与查询中所用的表名或别名不匹配。
DB-Lib error message 10007, severity 5:
General SQL Server error: Check messages from the SQL Server.
)

我使用邮箱地址(sun_able@kinca.net)作为变量提供给SQL语句,但是邮箱地址中含有"."特殊字符,代码不能正确识别,被识别成错误(sun_able@kinca)。
请问如何在Python下编写合适的SQL语句?
把mail参数用'   '   括起来
dbstring="delete from users where emailaddress=%s" % str("'"+emailaddress+"'")
让sql变成下面这样
delete from users where emailaddress=''sun_able@kinca.net'
谢谢楼上提供的方法
我自己找到了其他方法

[Copy to clipboard] [ - ]
CODE:
dbstring="delete from users where emailaddress='%s'" % (str(emailaddress))

con.commit()
请问这个函数是什么意思?
pdo2.0里也有,英文的看不懂。
con.commit()
提交你的操作,可能你的操作还在内存,或者你还需要回滚。这时候con.commit()了,就提交了。
谢谢,了解。