使用python创建MySQL数据库时遇到问题

时间:2019-11-19 15:45:50

标签: python mysql database

我似乎无法弄清楚为什么我的代码无法创建MySQL表。 尽管我的知识有限,但是一切对我来说似乎还可以。

import mysql.connector
import bot_keys as bk

conn = mysql.connector.connect(
  host = bk.dbHost,
  user = bk.dbUser,
  password = bk.dbPass,
  database = bk.dbName
)

mycursor = conn.cursor()

def create_table():
    sql_fs1 = ("SET SQL_MODE = 'NO_AUTO_VALUE_ON_ZERO';"
               "SET AUTOCOMMIT = 0;START TRANSACTION;"
               "SET time_zone = '+00:00';"
               "CREATE TABLE `test_table`(`id` int(10) NOT NULL PRIMARY KEY "
                  "AUTO_INCREMENT,`date_added` timestamp NOT NULL DEFAULT "
                  "CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,`test_info` "
                  "varchar(10) NOT NULL,`xxx` varchar(255) NOT NULL);")
    mycursor.execute(sql_fs1, multi=True)
    conn.commit()

create_table()

有人能指出我失败的地方吗?预先感谢。

2 个答案:

答案 0 :(得分:0)

我首先要检查您的连接是否真的正常工作...

if conn.is_connected():
        db_Info = conn.get_server_info()
        print("Connected to MySQL Server version ", db_Info)

这假设您的机器人密钥已正确参数化,如果我是我,我将尝试首先运行硬编码值,然后在成功运行事物后进行参数化。...

答案 1 :(得分:-1)

如果删除该行,错误将消失

conn.commit

create table命令导致隐式提交, https://dev.mysql.com/doc/refman/8.0/en/implicit-commit.html