我似乎无法弄清楚为什么我的代码无法创建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()
有人能指出我失败的地方吗?预先感谢。
答案 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