Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
上载数据库表时出错-Python mysql_Python_Mysql_Python 3.x_Mysql Connector Python - Fatal编程技术网

上载数据库表时出错-Python mysql

上载数据库表时出错-Python mysql,python,mysql,python-3.x,mysql-connector-python,Python,Mysql,Python 3.x,Mysql Connector Python,我几乎是MySQL数据库的新手 我正在尝试输入,在控制台中发现此错误: mysql.connector.errors.ProgrammingError:1064(42000):您有一个 SQL语法错误;检查与您的产品相对应的手册 MariaDB服务器版本,以便使用正确的语法接近“total issues” (时间戳、计数问题、项目)值('2020-04-17','908','G' 在1号线 这是我试图运行的代码: uploadMap = { 'current total issues':

我几乎是MySQL数据库的新手
我正在尝试输入,在控制台中发现此错误:

mysql.connector.errors.ProgrammingError:1064(42000):您有一个 SQL语法错误;检查与您的产品相对应的手册 MariaDB服务器版本,以便使用正确的语法接近“total issues” (时间戳、计数问题、项目)值('2020-04-17','908','G' 在1号线

这是我试图运行的代码:

uploadMap = {
    'current total issues': 'apiUrl0...',
    'current total unresolved issues': 'apiUrl1...',
    'total created in the week': 'apiUrl2...',
    'total blocker created in week': 'apiUrl3...'
}

for project in ('Graphic', 'Develop'):
    for tableName, url in uploadMap.items():

        sql = f"INSERT INTO {tableName} (Timestamp, Count issues, Project) VALUES (%s, %s, %s)"

        val = (todaySql, getTotal(url + project), project)

        cursor.execute(sql, val)
一些澄清:

  • getTotal
    始终返回一个整数
  • todaySql
    这是MySQL需要的所谓格式的日期,由该对象管理:


我希望这没什么大不了的…!

所说的没有错。如果名字比花押字大,你需要使用反勾号(尽管我强烈建议使用蛇形格,例如表的
name\u
)。
你需要确保的另一件事是日期必须是这种日期格式:
datetime.date(int(year),int(months),int(日期))


因此,您必须更改这两行:

def getSqlDate(self, daysBack):
    jiraDate = self.getJiraDate(daysBack).split('-')
    return datetime.date(int(jiraDate[0]), int(jiraDate[1]), int(jiraDate[2]))


表名真的是“current total issues”吗?如果是的话,你需要用反勾“`@jordanm好的,我会试试!是的,我在phpMyAdmin上给它命名。你建议把名称与空格分开吗?@jordanm我试过了,但没有用。同样的错误。。。
def getSqlDate(self, daysBack):
    jiraDate = self.getJiraDate(daysBack).split('-')
    return datetime.date(int(jiraDate[0]), int(jiraDate[1]), int(jiraDate[2]))
sql = f"INSERT INTO `{tableName}` (Timestamp, `Count issues`, Project) VALUES (%s, %s, %s)"