我想从一个表(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!";
?>
```

最佳答案

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' ";

10-04 10:55