【问题标题】:How can i get a Value with Alter Table without the ``?如何在没有 `` 的情况下使用 Alter Table 获得值?
【发布时间】:2020-10-07 15:52:42
【问题描述】:

我的代码有问题。我想构建一个 GUI,用户可以在其中在 MySQL 数据库中添加新列。

cursor.execute("ALTER TABLE Benutzer ADD %s INT NOT NULL",(NeueSpalte,))

当我写这个时,我得到了错误:

mysql.connector.errors.ProgrammingError: 1064 (42000): 你的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“Ultimaker”INT NOT NULL 附近使用正确的语法

但是当我写的时候:

cursor.execute("ALTER TABLE Benutzer ADD `%s` INT NOT NULL",(NeueSpalte,))

它有效。但后来我得到了一个带有Value 的新专栏。 我想问是否有可能在没有``的情况下获得价值?

谢谢

【问题讨论】:

    标签: python mysql mysql-python


    【解决方案1】:

    你只能使用字符串组合

    cursor.execute("ALTER TABLE Benutzer ADD {} INT NOT NULL".format(NeueSpalte))
    

    准备好的语句中的替换只允许值

    【讨论】:

      【解决方案2】:

      我的意思是你可以使用下一个代码:

      cursor.execute("ALTER TABLE Benutzer ADD " + NeueSpalte + " INT NOT NULL")
      

      【讨论】:

      • 谢谢,这正是我想要的!
      • 请查看@nbk 解决方案,可能会更好
      猜你喜欢
      • 2011-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-21
      • 1970-01-01
      • 1970-01-01
      • 2019-10-28
      相关资源
      最近更新 更多