作者Mirage (江楓)
看板Database
標題[SQL ] 請教INSERT INTO與子查詢問題
時間Thu Jan 19 14:56:12 2017
資料庫名稱: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://webptt.com/m.aspx?n=bbs/Database/M.1484808974.A.BCF.html
1F:推 shadow0828: where columns ? 01/19 16:13
2F:→ shadow0828: 沒有寫要塞的欄位名稱? 01/19 16:13
3F:→ Mirage: 有指定column..忘記打 error顯示錯誤好像是在那個select 01/19 16:42
4F:→ Mirage: 的子查詢那邊orz 01/19 16:42
5F:→ Mirage: 好奇子查詢是不是不能這樣用Orz 01/19 16:46
6F:推 moyasi: 我猜原po的做法是想 insert into 的table_name用select找 01/20 12:17
7F:→ moyasi: 應該要用execute才有辦法做吧 01/20 12:18
8F:→ Mirage: 喔喔!我再試看看QQ 謝謝! 01/20 14:25
9F:推 streetbad: insert into tablen(column1,columns....) 01/20 16:46
10F:→ streetbad: select column1,column2.... from table0 where... 01/20 16:46
11F:→ streetbad: 這樣的話? 01/20 16:46
12F:→ Mirage: column名稱都是固定已知的 只要要insert進去的table享用子 01/20 19:32
13F:→ Mirage: *想用子查詢找出來 像6F說的這樣orz 01/20 19:33
14F:→ Mirage: tableN名稱存在Table0 平常不會知道 01/20 19:34
15F:→ Mirage: 抱歉問題好像沒解釋清楚Orz 01/20 19:35
※ 編輯: Mirage (140.112.175.91), 01/20/2017 19:42:25
※ 編輯: Mirage (140.112.175.91), 01/20/2017 19:47:23
16F:推 streetbad: 這樣的話應該只能用參數搭配execute了 參數去接要寫入 01/23 14:32
17F:→ streetbad: 的table name 然後insert的部分用字串組 最後execute 01/23 14:32
18F:→ Mirage: 對execute還不熟,我再研究看看,謝謝! 01/23 21:01