[問題] python操作update(已解決)

看板Python作者 (魯魯咪)時間7年前 (2016/07/09 14:42), 7年前編輯推噓1(108)
留言9則, 3人參與, 最新討論串1/1
各位python先進好: ver:python 3.5 conn:pymysql 0.75 db:mariadb 10.1 目前在學習爬蟲過程中遇到一個問題卡了兩三天, 我有一個py程序會自動上google finance抓個股股價, 例如輸入price(2330)就會去抓2330近一年股價到我預設的table:price table:price想讓他是這樣的結構: ID(pri key) 2330 2317 2498 .... .... 1 160 80 120 .... .... 2 164 82 125 .... .... . ... .. ... .... .... . ... .. ... .... .... 200 162 81 118 .... .... 現在使用cur.execute('update price set '+股票欄位+'=%s' %i) 會造成在update台積電股價時,2317與2498的股價會變成null, 而update鴻海股價時,2330與2498會變成null, 請問該怎麼設定,才會讓update該股票股價時, 其他股票的股價維持原數值不變呢? 煩請各位大大解惑,感恩。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.224.219.232 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1468046556.A.C73.html ※ 編輯: lulumii (36.224.219.232), 07/09/2016 14:43:30

07/09 15:50, , 1F
你要不要試著先把SQL print out, 然後手動跑跑看?
07/09 15:50, 1F

07/09 16:20, , 2F
在heidisql下輸入update price set 2330TW=80
07/09 16:20, 2F

07/09 16:20, , 3F
雖然會問我沒加where子句,但可以新增股價而不影響其他
07/09 16:20, 3F

07/09 16:23, , 4F
但在py輸入cur.execute('update price set 2330TW=80')
07/09 16:23, 4F

07/09 16:23, , 5F
其他股價都會被刷成null
07/09 16:23, 5F

07/11 22:07, , 6F
Sql 的問題吧
07/11 22:07, 6F

07/11 23:07, , 7F
最後是自己程式的問題 在設id填滿序列時把數值刷成null了
07/11 23:07, 7F

07/11 23:07, , 8F
跟update這個指令無關XD
07/11 23:07, 8F

07/11 23:08, , 9F
因為用sqlite去run也是一樣的問題,就發現是程式錯了
07/11 23:08, 9F
文章代碼(AID): #1NW9pSnp (Python)