[SQL ] 請教INSERT INTO與子查詢問題

看板Database (資料庫)作者 (江楓)時間7年前 (2017/01/19 14:56), 7年前編輯推噓4(4014)
留言18則, 4人參與, 最新討論串1/1
資料庫名稱:MySQL 在我的database有一些table大概是這樣: Table0 table1 table2 table3 ... tableN (table1~tableN都是按照CREATE TABLE時的時間命名,像data_2017_1_19_20_32_30...) 其中Table0裡面只有一列資料 有一個欄位tablename會在CREATE新TABLE後存入最新建立的table名稱: tablename --------- tableN 在我的網頁POST的資料需要存到最新建立的tableN, 所以想到Table0找tableN的實際名稱, 要存的資料POST到PHP網頁後, 要存進tableN的語法我是這樣寫的: INSERT INTO (Select tablename FROM Table0 ) (......)VALUES(......) 可是無法成功QQ 直接在SQL伺服器測試這條語法也是一樣error 雖然可以先Select tablename FROM Table0 再用回傳的名稱做插入資料的動作 但想知道是否能用子查詢就不用再分兩階段做Orz 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.175.91 ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1484808974.A.BCF.html

01/19 16:13, , 1F
where columns ?
01/19 16:13, 1F

01/19 16:13, , 2F
沒有寫要塞的欄位名稱?
01/19 16:13, 2F

01/19 16:42, , 3F
有指定column..忘記打 error顯示錯誤好像是在那個select
01/19 16:42, 3F

01/19 16:42, , 4F
的子查詢那邊orz
01/19 16:42, 4F

01/19 16:46, , 5F
好奇子查詢是不是不能這樣用Orz
01/19 16:46, 5F

01/20 12:17, , 6F
我猜原po的做法是想 insert into 的table_name用select找
01/20 12:17, 6F

01/20 12:18, , 7F
應該要用execute才有辦法做吧
01/20 12:18, 7F

01/20 14:25, , 8F
喔喔!我再試看看QQ 謝謝!
01/20 14:25, 8F

01/20 16:46, , 9F
insert into tablen(column1,columns....)
01/20 16:46, 9F

01/20 16:46, , 10F
select column1,column2.... from table0 where...
01/20 16:46, 10F

01/20 16:46, , 11F
這樣的話?
01/20 16:46, 11F

01/20 19:32, , 12F
column名稱都是固定已知的 只要要insert進去的table享用子
01/20 19:32, 12F

01/20 19:33, , 13F
*想用子查詢找出來 像6F說的這樣orz
01/20 19:33, 13F

01/20 19:34, , 14F
tableN名稱存在Table0 平常不會知道
01/20 19:34, 14F

01/20 19:35, , 15F
抱歉問題好像沒解釋清楚Orz
01/20 19:35, 15F
※ 編輯: Mirage (140.112.175.91), 01/20/2017 19:42:25 ※ 編輯: Mirage (140.112.175.91), 01/20/2017 19:47:23

01/23 14:32, , 16F
這樣的話應該只能用參數搭配execute了 參數去接要寫入
01/23 14:32, 16F

01/23 14:32, , 17F
的table name 然後insert的部分用字串組 最後execute
01/23 14:32, 17F

01/23 21:01, , 18F
對execute還不熟,我再研究看看,謝謝!
01/23 21:01, 18F
文章代碼(AID): #1OW6CElF (Database)
文章代碼(AID): #1OW6CElF (Database)