【问题标题】:ProgrammingError: 1064 (42000): You have an error in your SQL syntax [duplicate]ProgrammingError:1064(42000):您的 SQL 语法有错误 [重复]
【发布时间】:2022-01-30 09:56:40
【问题描述】:
        my_cur=conn.cursor()
        my_cur.execute("update customer set 'name=%s','address=%s','id proof type=%s','id no=%s','gender=%s','state=%s','pincode=%s','mobile=%s','email=%s','nationality=%s' where 'ref=%s'",( 
                                                                                                                        self.var_name.get(),
                                                                                                                        self.var_addr.get(),
                                                                                                                        self.var_id_proof.get(),
                                                                                                                        self.var_id_no.get(),
                                                                                                                        self.var_gender.get(),
                                                                                                                        self.var_state.get(),
                                                                                                                        self.var_pin.get(),
                                                                                                                        self.var_mob.get(),
                                                                                                                        self.var_email.get(),
                                                                                                                        self.var_natio.get(),
                                                                                                                        self.var.get()   
                                                                                                                        ))
        
        conn.commit()
        self.fetch_data()
        conn.close()

#mysql.connector.errors.ProgrammingError: 1064 (42000): 你的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册以获取正确的语法使用 在第 1 行的 ''name='Sahil'','address='Panchwad'','id proof type='Adhar Card'','id no='123456'' 附近

【问题讨论】:

  • 去掉所有的单引号!

标签: python mysql error-handling database-connection python-sql


【解决方案1】:

我不了解 Python,但对于 MySQL,您不应该将每个分配都放在引号中。所以不是:

"update customer set 'name=%s'..."

但是:

"update customer set name=%s..."

您可能确实需要整个字符串的双引号,而不是其中的单引号。

【讨论】:

  • @Jens 不,你不需要使用 Paceholders 的 sibgle qoutes
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-08-19
  • 1970-01-01
  • 2022-01-11
  • 1970-01-01
  • 2013-02-13
相关资源
最近更新 更多