2013-03-13 88 views
0

我在嘗試創建此表時遇到了一個奇怪的錯誤....當我追蹤它時,我在第5行沒有任何內容?任何人都可以幫助我如何跟蹤這個錯誤?SQL/Python創建表錯誤

導入設置 進口mysql.connector 從數據庫導入login_info 進口日期時間爲DT

def main(): 
    db = mysql.connector.Connect(**login_info) 
    cursor = db.cursor() 
    sql =('DROP TABLE IF EXISTS messages') 
    cursor.execute(sql) 
    db.commit() 

message_table = """\ 
    CREATE TABLE messages(
     msgID INTEGER AUTO_INCREMENT PRIMARY KEY, 
     message VARCHAR(500) DEFAULT NULL, 
     subject VARCHAR(500) DEFAULT NULL, 
     )""" 
cursor.execute(message_table) 
db.commit() 

錯誤== mysql.connector.errors.ProgrammingError:1064:您在您的SQL語法錯誤;檢查對應於你的MySQL服務器版本的手冊,在第5行'''附近使用正確的語法。

我可以在交互式窗口中連接SQl沒問題。

+1

結束移除,您可能需要您目前由於支架經歷一輪(「DROP TABLE IF EXISTS消息」) – George 2013-03-13 16:01:18

+0

語法錯誤一前一後另一個問題:最後一個字段定義後的逗號。逗號是爲了分離表(字段,索引等)的定義元素...請務必記得檢查文檔(在這種情況下,MySQL文檔:數據定義語句:CREATE)。錯誤信息甚至會給你提示錯誤發生的位置。 – Barranka 2013-03-13 16:38:29

回答

1

嘗試在第4行

+0

之後第一個NULL? – 2013-03-13 15:58:57

+1

最後一個NULL後。我認爲在最後一個字段聲明之後,你不允許有一個尾隨的','。 – 2013-03-13 16:01:08