用pymysql删除行
当演员以较少的情节为单位时,我试图将行删除2个表(演员和角色),该参数传递了。我有以下代码:
cursor = connection.cursor()
cursor.execute("DELETE FROM actor WHERE numEpisodes < %s",num_episodes);
cursor.execute("DELETE FROM characters WHERE actorID IN (SELECT actorID FROM actor WHERE numEpisodes < %s",num_episodes);
connection.commit()
我一直遇到1064语法错误,但我看不到怎么了,有人有任何想法吗?
I'm trying to delete rows in 2 tables (actor and characters) when the actor is in less episodes that numEpisodes, a parameter passed in. I've got the following code:
cursor = connection.cursor()
cursor.execute("DELETE FROM actor WHERE numEpisodes < %s",num_episodes);
cursor.execute("DELETE FROM characters WHERE actorID IN (SELECT actorID FROM actor WHERE numEpisodes < %s",num_episodes);
connection.commit()
I keep getting a 1064 syntax error but I do not see what is wrong, does anyone have any ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您错过了一个近距离的paren,而传递给
execute
函数的参数必须像元组一样是一个可观的。但是,您的逻辑是向后的。从Actor
中删除后,将不再有任何记录SELECT
返回。You're missing a close paren, and the parameters passed to the
execute
function must be an iterable, like a tuple. However, your logic is backwards. After you delete fromactor
, there will no longer BE any records for thatSELECT
to return.