我可以使用此查询将数据从表复制到另一个:
// table1( tid , uid, name, link)
// table2(mid , uid , name, link)
query = "INERT INTO TABLE2 ("+ getIdFromFunction()+" , uid, name, link) SELECT * FROM TABLE1";
我想从table1填充table2,但每次调用此查询时都会有一定的值
就像:
INSERT INTO TABLE2 (0, uid, name, link) SELECT * FROM TABLE1
可能吗?
答案 0 :(得分:4)
INSERT
命令有一个列名列表;值在SELECT
命令中指定。
所以你想要这个:
INSERT INTO table2(mid, uid, name, link)
SELECT 0, uid, name link
FROM table1;
答案 1 :(得分:0)
@MBH你不能在insert语句中使用Table1中的select *。首先你必须将table1中的记录分配到记录中然后只能将值传递给table2 ..你的代码应该如下所示< / p>
declare
r record;
select into r tid , uid, name, link from tale1;
INSERT INTO TABLE2 (tid, uid, name, link) values
(INSERT INTO TABLE2 (r.tid r.uid,r.name, r.link))