[access]資料不存在則插入(已解決)

看板Database (資料庫)作者 (zelda)時間7年前 (2017/06/12 17:00), 7年前編輯推噓0(0011)
留言11則, 2人參與, 最新討論串1/1
請教版上大神 我使用的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

06/13 10:44, , 1F
INSERT INTO A SELECT '%s' FROM dual WHERE not exists
06/13 10:44, 1F

06/13 10:44, , 2F
(select * from A where field = '6')
06/13 10:44, 2F

06/13 10:45, , 3F
不知道是不是你要的需求
06/13 10:45, 3F

06/13 14:08, , 4F
INSERT INTO A(f1,f2,f3) SELECT v1,v2,v3 FROM B
06/13 14:08, 4F

06/13 14:09, , 5F
WHERE NOT EXISTS (SELECT ..) f1表field1,v1表value1
06/13 14:09, 5F

06/13 14:10, , 6F
v1是table B的field name
06/13 14:10, 6F

06/13 14:12, , 7F
看錯問題..INSERT INTO A(f1,f2,f3) VAULES(v1,v2,v3)
06/13 14:12, 7F

06/13 14:13, , 8F
WHERE NOT EXISTS(SELECT 1 FROM A WHERE..)
06/13 14:13, 8F

06/13 14:17, , 9F
之前錯了, 應該是
06/13 14:17, 9F

06/13 14:18, , 10F
INSERT INTO A(f1,f2,f3) SELECT v1,v2,v3 WHERE NOT
06/13 14:18, 10F

06/13 14:18, , 11F
EXISTS(SELECT 1 FROM A WHERE ..); 這樣才對
06/13 14:18, 11F
謝謝版上大神意見 後來有查到 第二段改成 select distinct * from B B是存在的表 這樣可以完成要求 ※ 編輯: pili100 (118.163.209.145), 06/13/2017 16:00:39
文章代碼(AID): #1PFbWObr (Database)
文章代碼(AID): #1PFbWObr (Database)