作者chingyue (ChingYue)
看板C_and_CPP
標題[問題] VC++用not exists存資料進MySQL
時間Wed Apr 19 13:42:36 2017
開發平台(Platform): (Ex: Win10, Linux, ...)
Win7
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
VC++ 2013(WIN32 API)
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
MySQL C API
問題(Question):
各位前輩好
小弟現在程式已經可以查資料夾內檔案名稱
之後自動存入資料庫
可是這樣每執行一次就會全部紀錄一次
所以想要判斷資料庫內是否有重複檔案
若重複就跳過
在GOOGLE後看到要使用not exists
可是小弟我使用了
(圖)
http://i.imgur.com/ro8zLIx.jpg
sprintf_s(sos,"INSERT INTO ccc(client_id, client_name) SELECT NULL, %s FROM
dual WHERE not exists(select * from ccc where ccc.client_name = %s);",
dir,dir);
以及
sprintf_s(sos, "insert into ccc values (NULL, '%s') where not exists(select *
from ccc where ID = '%s');", dir, dir);
把資料庫清空後測試
發現所有資料都不會存進去
請各位幫小弟看看語法是否哪裡有錯
謝謝!
資料庫:
http://i.imgur.com/PLa0Dlm.jpg
執行畫面:
http://i.imgur.com/jdlIk5j.jpg
全部程式碼:
https://www.codepile.net/pile/dV0K84Lz
全部程式碼(圖):
http://i.imgur.com/ov8G1SY.jpg
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.136.21.182
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1492580560.A.717.html
→ james732: 這算是本板的業務嗎?XD 04/19 13:55
其實我也不清楚
但是我是在VC++底下寫的
中間也用到VC++的語法
所以在此發文 若有不妥之處請多包涵
※ 編輯: chingyue (220.136.21.182), 04/19/2017 14:17:20
已有板上前輩幫忙解決問題了
謝謝各位
※ 編輯: chingyue (122.116.59.114), 04/19/2017 15:29:38
→ MOONY135: 這其實是SQL語法問題= = 04/19 15:43
抱歉 我會請版主幫忙刪除文章
※ 編輯: chingyue (220.136.21.182), 04/19/2017 16:01:35
→ MOONY135: 我會建議你用SQL語法自己掃一次 然後就知道問題了 04/19 16:21
→ MOONY135: 其實你可以先把SQL SELECT出來的東西 放到程式裡面的 04/19 16:23
→ MOONY135: LIST 然後 程式裡面再去比對有無存在 沒有才寫入 04/19 16:23