Hanley Soilsmith
Hanley Soilsmith

Reputation: 629

CREATE TABLE syntax error in mysql 6.3/python 3.5

I'm using python to create a table in a mysql 6.3. The code worked great when using sqlite and is now throwing the following error.

pymysql.err.ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' tokyo REAL, primary key (rowid))' at line 1")

the code is

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)

Any help is greatly appreciated!

Upvotes: 3

Views: 565

Answers (2)

bushra banu
bushra banu

Reputation: 11

Type is not added to datetime column..

Change table creation syntax like below.

CREATE TABLE pressure (rowid INT AUTO_INCREMENT NOT NULL, date_time datetime , 
tokyo REAL, primary key (rowid));

Upvotes: 0

Moses Koledoye
Moses Koledoye

Reputation: 78556

You need to specify the datatype for the date_time column, say DATETIME:

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

Reference:

Create Table syntax

Upvotes: 1

Related Questions