2016-10-24 3 views
3

Я использую python для создания таблицы в mysql 6.3. Код работал отлично при использовании sqlite и теперь бросает следующую ошибку.Ошибка синтаксиса CREATE TABLE в mysql 6.3/python 3.5

pymysql.err.ProgrammingError: (1064, «У вас есть ошибка в синтаксисе SQL, проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с« tokyo REAL, primary key (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) 

Любая помощь очень ценится!

+1

... 'date_time' - что это должно быть? добавить какой-то тип к нему, может быть? http://dev.mysql.com/doc/refman/5.7/en/datetime.html – user3012759

+1

Работает ли запрос вне вашего сценария python (против экземпляра MySQL не SQLite)? – Sevyns

+0

Я удалил столбец date_time, и он отлично работает. Благодаря!!!!!! –

ответ

1

Вы должны указать тип данных для date_time столбца, скажем DATETIME:

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

Ссылка:

Create Table syntax

+0

Работает отлично, спасибо !!! –

0

Тип не добавляются к колонку даты и времени ..

Изменить синтаксис создания таблицы, как показано ниже.

CREATE TABLE pressure (rowid INT AUTO_INCREMENT NOT NULL, date_time datetime , 
tokyo REAL, primary key (rowid)); 
Смежные вопросы