作者lulumii (魯魯咪)
看板Python
標題[問題] py3.5操作mariadb的update
時間Sat Jul 9 14:42:33 2016
各位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
→ agogoman: 你要不要試著先把SQL print out, 然後手動跑跑看? 07/09 15:50
→ lulumii: 在heidisql下輸入update price set 2330TW=80 07/09 16:20
→ lulumii: 雖然會問我沒加where子句,但可以新增股價而不影響其他 07/09 16:20
→ lulumii: 但在py輸入cur.execute('update price set 2330TW=80') 07/09 16:23
→ lulumii: 其他股價都會被刷成null 07/09 16:23
推 BlueKidds: Sql 的問題吧 07/11 22:07
→ lulumii: 最後是自己程式的問題 在設id填滿序列時把數值刷成null了 07/11 23:07
→ lulumii: 跟update這個指令無關XD 07/11 23:07
→ lulumii: 因為用sqlite去run也是一樣的問題,就發現是程式錯了 07/11 23:08