首页 > 解决方案 > 从一个数据库表中选择一些数据并插入到同一数据库中的另一个表中

问题描述

我想从一个表 ( oldDataTable) 中选择一些列并插入到另一个表 ( newDataTable) 中。两者都在同一个数据库中。我试过了。如果我只选择一列,它会起作用。但是,如果我选择多于一列,则不会发生任何事情。

oldDataTable 有类似的列

Name | Date | Voltage | Current | Power | RMS.

我只想选择像这样的列Name| Date| Power并将其插入到newDataTable. 当用户提交表单按钮时,我正在这样做。请提供任何帮助。

<?php
if (isset($_POST['submit'])){
  include ("DBconnect.php");
  $conn= mysqli_connect( $dbhost, $dbuser, $dbpass, $db );
  if ($conn->connect_error){
    die("Connection failed: " . $conn->connect_error);
  }
  else{
    $insertNEQuery= "INSERT INTO newDataTable (Name, Date, Power) SELECT (Name, Date, Power) FROM oldDataTable WHERE ID = '2' ";
    //it should be a bunch of rows. I have data for every one minute. 

    mysqli_query($conn, $insertNEQuery);
    echo " data updated!";
    $conn->close();
  }
} else 
    echo " please click submit button!";
?>
```

标签: phpmysql

解决方案


中不需要括号SELECT,以下查询将起作用。

INSERT INTO newDataTable (Name, Date, Power) 
SELECT Name, Date, Power FROM oldDataTable WHERE ID = '2' 

所以你的代码将是:

$insertNEQuery= "INSERT INTO newDataTable (Name, Date, Power) SELECT Name, Date, Power FROM oldDataTable WHERE ID = '2' ";

推荐阅读