[SQL ] 請教一個插入語法[已解決]

看板Database作者 (zelda)時間7年前 (2017/06/23 17:37), 7年前編輯推噓0(004)
留言4則, 2人參與, 最新討論串1/1
(針對 SQL 語言的問題,用這個標題。請用 Ctrl+Y 砍掉這行) 資料庫名稱:mariadb 資料庫版本:10.1 內容/問題描述: 請教版上大神 我有兩個表,例 tableA 有兩欄位:colA,colA2 tableB 有一欄位:colB,key tableB 的key是colA的外鍵 我想達成的目標是 如果colB某值不存在則插入資料,且key是需要找colA2的值來對應填入 根據我找網路上的文件 寫了這麼一段 insert into tableB(colB, key) select 'c0-123', tableA.colA from tableB join tableA on tableB.key=tableA.colA where tableA2='c0' where not exists( select colB from tableB where colB='c0-123'); 不過到後面提示where not exists這段是錯誤的 不曉得如何修改才能達到我想要的結果 還請高手指點 -- 最近看到的簽名檔,拿來借用,不曉得會不會犯了智產權? 西醫治標 中醫治本 中西合璧 治成標本 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.163.209.145 ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1498210641.A.2CC.html

06/24 10:57, , 1F
我猜:用exist時,巢狀SQL裡的table要跟主SQL的table建立
06/24 10:57, 1F

06/24 10:57, , 2F
relation。
06/24 10:57, 2F

06/24 16:27, , 3F
改為..FROM tableA WHERE tableA2='c0' AND NOT EXISTS
06/24 16:27, 3F

06/24 16:27, , 4F
.. 試試看
06/24 16:27, 4F
感謝flowwinds大大 提供的是正解 ※ 編輯: pili100 (118.163.209.145), 06/26/2017 09:35:21
文章代碼(AID): #1PJE5HBC (Database)