python - mysql 6.3/python 3.5 中的 CREATE TABLE 语法错误

标签 python mysql

我正在使用 python 在 mysql 6.3 中创建表。该代码在使用 sqlite 时运行良好,但现在抛出以下错误。

pymysql.err.ProgrammingError: (1064, "您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册,了解在 'tokyo REAL 附近使用的正确语法,主键 (rowid))' 在第 1 行")

代码是

import pymysql
conn=pymysql.connect(host='localhost',user='root',password='password',db='testschema',charset='utf8mb4',cursorclass=pymysql.cursors.DictCursor)
a=conn.cursor()
sql='''CREATE TABLE pressure (rowid INT AUTO_INCREMENT NOT NULL, date_time, 
    tokyo REAL, primary key (rowid));'''
a.execute(sql)

非常感谢任何帮助!

最佳答案

您需要为 date_time 列指定数据类型,比如 DATETIME:

sql='''CREATE TABLE pressure (rowid INT AUTO_INCREMENT NOT NULL, date_time DATETIME, tokyo REAL, primary key (rowid));'''

引用:

Create Table syntax

关于python - mysql 6.3/python 3.5 中的 CREATE TABLE 语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40221878/

相关文章:

php - 数据库表更新不起作用?

php - 针对 PHP 数据检索进行优化的 MySQL 数据库设计

php - 根据 3 个不同的值从数据库中选择行

mysql - 目前正在使用 View,我应该改用硬表吗?

python - Numpy:将矩阵元素与矩阵数组相乘

Python 包和 egg-info 目录

mysql - SQL 在 SELECT 表中输入与实际表数据不同的数据,基于 if 语句

python - 避免重复输入错误

Python 如何在不存在分隔符时处理拆分?

python - 列出http响应代码 - 与Python2和3兼容