10 个解决方案
#1
直接INSERT INTO SELECT 。。。 FROM 。。 WHERE 不行?
#2
INSERT INTO TB2
SELECT * FROM TB
WHERE ID>100
#3
#2楼 正解。可以直接使用这种简单的方法实现。
如果你的判断条件很复杂,一定需要用程序来解决的话,则需要用存储过程打开游标然后逐一判断。
如果你的判断条件很复杂,一定需要用程序来解决的话,则需要用存储过程打开游标然后逐一判断。
#4
一定要逐条 就用存储过程+游标 ~
#5
这样的话是不是2张表的字段一样?不一样呢?是不是会出错?还有存储过程加游标是怎么实现的?希望指点一下?
#6
插入时指定列名就可以
INSERT INTO TB2(COL1,COL2,COL3)
SELECT * FROM TB(COL1,COL2,COL3)
WHERE ID>100
#7
有简单的方法不用?
INSERT INTO Tt2(f1,f2,fL3)
SELECT * FROM Tt1(f2,f3,f1)
WHERE ....
#8
可以不一样, #6楼已经给你例子了。
至于存储过程,建议你参考一下MYSQL手册中的例子。
MySQL官方文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html
#9
#10
insert 目标表(目标字段列表)
select 源表字段列表
from 源表
#1
直接INSERT INTO SELECT 。。。 FROM 。。 WHERE 不行?
#2
INSERT INTO TB2
SELECT * FROM TB
WHERE ID>100
#3
#2楼 正解。可以直接使用这种简单的方法实现。
如果你的判断条件很复杂,一定需要用程序来解决的话,则需要用存储过程打开游标然后逐一判断。
如果你的判断条件很复杂,一定需要用程序来解决的话,则需要用存储过程打开游标然后逐一判断。
#4
一定要逐条 就用存储过程+游标 ~
#5
这样的话是不是2张表的字段一样?不一样呢?是不是会出错?还有存储过程加游标是怎么实现的?希望指点一下?
#6
插入时指定列名就可以
INSERT INTO TB2(COL1,COL2,COL3)
SELECT * FROM TB(COL1,COL2,COL3)
WHERE ID>100
#7
有简单的方法不用?
INSERT INTO Tt2(f1,f2,fL3)
SELECT * FROM Tt1(f2,f3,f1)
WHERE ....
#8
可以不一样, #6楼已经给你例子了。
至于存储过程,建议你参考一下MYSQL手册中的例子。
MySQL官方文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html
#9
#10
insert 目标表(目标字段列表)
select 源表字段列表
from 源表