作者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/cn.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