看板 Database 關於我們 聯絡資訊
請教版上大神 我使用的access是2010 假設有一張表A 裡面有資料1,2,3,4,5 五筆資料 我想要插入6,這筆資料 如果資料已存在就不插入 google到的語法都是 insert into A(field) select * from B where not exists (select 1 from A where field = '6') 差不多都是這樣 問題來了 我的資料並不是存在表B 而是從程式中餵進去的 我如果用insert into value這語法 access回報語法錯誤 我該怎麼寫才對啊! -- 最近看到的簽名檔,拿來借用,不曉得會不會犯了智產權? 西醫治標 中醫治本 中西合璧 治成標本 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.163.209.145 ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1497258008.A.975.html
rul3nk41: INSERT INTO A SELECT '%s' FROM dual WHERE not exists 06/13 10:44
rul3nk41: (select * from A where field = '6') 06/13 10:44
rul3nk41: 不知道是不是你要的需求 06/13 10:45
flowwinds: INSERT INTO A(f1,f2,f3) SELECT v1,v2,v3 FROM B 06/13 14:08
flowwinds: WHERE NOT EXISTS (SELECT ..) f1表field1,v1表value1 06/13 14:09
flowwinds: v1是table B的field name 06/13 14:10
flowwinds: 看錯問題..INSERT INTO A(f1,f2,f3) VAULES(v1,v2,v3) 06/13 14:12
flowwinds: WHERE NOT EXISTS(SELECT 1 FROM A WHERE..) 06/13 14:13
flowwinds: 之前錯了, 應該是 06/13 14:17
flowwinds: INSERT INTO A(f1,f2,f3) SELECT v1,v2,v3 WHERE NOT 06/13 14:18
flowwinds: EXISTS(SELECT 1 FROM A WHERE ..); 這樣才對 06/13 14:18
謝謝版上大神意見 後來有查到 第二段改成 select distinct * from B B是存在的表 這樣可以完成要求 ※ 編輯: pili100 (118.163.209.145), 06/13/2017 16:00:39