Выбрать некоторые данные из одной таблицы базы данных и вставить в другую таблицу в той же базе данных

Я хочу выбрать столбец из одной таблицы (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 ()

Nigel Ren 15.05.2019 08:52

@NigelRen, это действительно проблема, это вызовет Operand should contain 1 column(s) ошибки

Nick 15.05.2019 08:54

@NigelRen Это сработало как чемпион. Спасибо друг ...:)

dragon123 15.05.2019 08:59
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
3
3
76
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Используйте этот запрос

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

Другие вопросы по теме