![](/img/trans.png)
[英]How can I use joins to fetch mysql rows from one table based on rows that are found in another?
[英]How do I copy rows from one MySQL table to another and update one of the values based on a variable
如何遍历MySQL表的所有行,并将其所有内容复制到另一个表,同时多次复制某些行,并将其中一个值(时间)更新到几天后。 以后的几天将基于表中的另一个值。 表a包含应复制的数据。 如果next_event为'0',则仅添加一次。 如果next_event是604800(应等于一周),则应将该行添加多次,并将next_event值添加到日期。 在下面的示例中,我将event1和event3添加了3次。
表一:
name date time event next_event
name1 2012-06-02 18:00:00 event1 604800
name1 2012-06-02 19:00:00 event2 0
name1 2012-06-02 20:00:00 event3 604800
name1 2012-06-02 21:00:00 event4 0
表b:
name date time event next_event
name1 2012-06-02 18:00:00 event1 604800
name1 2012-06-02 19:00:00 event2
name1 2012-06-02 20:00:00 event3 604800
name1 2012-06-02 21:00:00 event4
name1 2012-13-02 18:00:00 event1 604800
name1 2012-13-02 20:00:00 event3 604800
name1 2012-20-02 18:00:00 event1 604800
name1 2012-20-02 20:00:00 event3 604800
希望这能带来更多的意义。 谢谢。
使用mysql_fetch_row遍历记录。 使用if语句来检查您必须检查的内容(进行多份复印等)。 使用mysql_query向目标表发出INSERT或UPDATE指令。
您还可以使用子选择,但是在某些时候很难保持跟踪,并且可能会发现与php代码结合使用更好(或者使用光标创建存储的proc)
从A a1插入B b2(col1,col2,col3)值(从a a2选择a1.col1,a1.col2,(从a a2选择a2.col3 +(在此处选择日延...),其中有一些条件)在其他条件下)
如果您的表很大,那么用SQL编写所有代码可能会获得更好的性能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.