我在Python中執行一些MySQL語句時遇到了2個問題。首先我有一個日期列,我已經用YYYY-MM-DD格式(例如2016-03-15)手動插入了其他記錄。然而,格式化的問題在某處,我試圖使用strftime等格式的各種不同組合。MySQL Python日期和列表錯誤
我引用Inserting a Python datetime.datetime object into MySQL,但這沒有幫助。
import time
formattedTime = datetime.datetime(3000, 12, 03)
formattedTime = formattedTime.date().isoformat()
a = 1
b = 2
c = 4
cursor.execute("INSERT INTO nodeStatistics VALUES(%s, %d, %d, %d, NULL, NULL, NULL, NULL, NULL, NULL, 'item1 item2 item3')" %(formattedTime, a, b, c))
cnx.commit()
日期字段是我的主鍵。我得到的錯誤提示爲NULL(這是輸入NULL時的默認值)的NULL條目,所以我知道「formattedTime」和相應的「%s」失敗: mysql.connector.errors .IntegrityError:1062(23000):重複條目'0000-00-00',用於鍵'PRIMARY'
其次,我有一個列表listWords = list 。我在我的計劃執行過程中追加項目,最終我「」。加入(listWords)到列表轉換爲空間分隔的字符串,但是當我替換上面:
cursor.execute("INSERT INTO nodeStatistics VALUES(%s, %d, %d, %d, NULL, NULL, NULL, NULL, NULL, NULL, %s)" %(formattedTime, a, b, c, listWords))
我得到的錯誤:
mysql.connector.errors.ProgrammingError:1064(42000):您的SQL語法錯誤;檢查對應於您的MySQL服務器版本的手冊,以便在第1行的'item1 item2 item 3'附近使用正確的語法。
任何幫助將不勝感激!
我想你應該在你的情況 – Selcuk