mysql INSERT INTO SELECT语句

INSERT INTO SELECT语句,今天第一次见到,第一眼以为就是插入数据,然后仔细一看,怎么跟insert into不一样,后面有个select是什么鬼。插入查询吗,见到没有看到过的语句当然是去搜一搜手册:手册

看完手册再自己动手实操下,很容易理解。我也不多说什么了。

写这个记录博文,当然不止是说这个。看到这个语句是在ecshop里面的代码看到的。


从这代码里看到,这个sql语句。SELECT后面,除了order_id以外是字段,后面的变量以及函数,全部都是要插入的数据。对于我来说,刚刚接触这个语句就看得有点懵了,怎么回事,不是SELECT后面应该是跟字段吗。怎么只有order_id是字段,其他全部是要插入的数据。

既然看不明白,那就打印一下这条sql语句

"INSERT INTO `hongbao`.`ecs_order_action` (order_id, action_user, order_status, shipping_status, pay_status, action_place, action_note, log_time) SELECT order_id, '买家', '5', '2', '2', '0', '', '1522631512' FROM `hongbao`.`ecs_order_info` WHERE order_sn = '2018033062035'"

从这个sql语句我们看到,select后面order_id只有是字段,后面的都是要插入的数据。这里就要说下select查询了,指定是字符串类型,就相当于是查询结果。所以INSERT INTO SELECT还能这么应用

猜你喜欢

转载自blog.csdn.net/qq_38375394/article/details/79792250