Я хочу выбрать столбец из одной таблицы (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!";
?>
```
@NigelRen, это действительно проблема, это вызовет Operand should contain 1 column(s) ошибки
@NigelRen Это сработало как чемпион. Спасибо друг ...:)






Используйте этот запрос
INSERT INTO newDataTable (SELECT Name, Date, Power FROM oldDataTable WHERE ID = '2')";
Скобки не требуются в 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' ";
Не уверен - но попробуй без скобок в
SELECT ()