как переместить текущую запись в другую таблицу и удалить текущую запись

В настоящее время я использую PHP для создания системы локально для пользователя, чтобы вставлять данные в 14 таблиц, расположенных на одной странице, а затем в конце дня все данные в этой таблице должны перемещаться в новую таблицу в базе данных, автоматически называемую панелью мониторинга (будет хранить ежедневные данные ), но в последнее время я использовал кнопку, щелкнув вручную, чтобы выполнить действие, и в то же время все данные из 14 таблиц, указанные выше, будут автоматически удалены. Легко заставить пользователя вставлять новые данные на следующий день, потому что сегодняшние данные были перенесены в другую таблицу, и данные текущей таблицы были пустыми. Я ищу на всех сайтах по этому вопросу, но не получаю никакого решения. Надеюсь, все вы, ребята, можете мне помочь в этом.

Я использовал INSERT INTO, но не работал. Где я должен использовать тег FROM ? Поскольку необходимо передать 8 таблиц, например: sr1, sr2, sr3 и т. Д.

Мой код, как показано ниже:

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) { $insertSQL = sprintf("INSERT INTO sr1_full (date, total_pending, appt_today, percent_appt_today, percent_complete, partial_complete, full_complete, return_technical, return_customer, return_cancel, cancel, reappt, focus, total_tepi, total_bawah) SELECT date, total_pending, appt_today, percent_appt_today, percent_complete, partial_complete, full_complete, return_technical, return_customer, return_cancel, cancel, reappt, focus, total_tepi, total_bawah FROM sr1 TRUNCATE TABLE sr1", GetSQLValueString($_POST['date'], "date"), GetSQLValueString($_POST['total_pending'], "int"), GetSQLValueString($_POST['appt_today'], "int"), GetSQLValueString($_POST['percent_appt_today'], "int"), GetSQLValueString($_POST['percent_complete'], "int"), GetSQLValueString($_POST['partial_complete'], "int"), GetSQLValueString($_POST['full_complete'], "int"), GetSQLValueString($_POST['return_technical'], "int"), GetSQLValueString($_POST['return_customer'], "int"), GetSQLValueString($_POST['return_cancel'], "int"), GetSQLValueString($_POST['cancel'], "int"), GetSQLValueString($_POST['reappt'], "int"), GetSQLValueString($_POST['focus'], "int"), GetSQLValueString($_POST['total_tepi'], "int"), GetSQLValueString($_POST['total_bawah'], "int")); mysql_select_db($database_pods, $pods); $Result1 = mysql_query($insertSQL, $pods) or die(mysql_error()); $insertGoTo = "main.php"; if (isset($_SERVER['QUERY_STRING'])) { $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?"; $insertGoTo .= $_SERVER['QUERY_STRING']; } header(sprintf("Location: %s", $insertGoTo)); } mysql_select_db($database_pods, $pods); $query_sr1 = "SELECT * FROM sr1"; $sr1 = mysql_query($query_sr1, $pods) or die(mysql_error()); $row_sr1 = mysql_fetch_assoc($sr1); $totalRows_sr1 = mysql_num_rows($sr1); mysql_select_db($database_pods, $pods); $query_sr2 = "SELECT * FROM sr2"; $sr2 = mysql_query($query_sr2, $pods) or die(mysql_error()); $row_sr2 = mysql_fetch_assoc($sr2); $totalRows_sr2 = mysql_num_rows($sr2); mysql_select_db($database_pods, $pods); $query_sr3 = "SELECT * FROM sr3"; $sr3 = mysql_query($query_sr3, $pods) or die(mysql_error()); $row_sr3 = mysql_fetch_assoc($sr3); $totalRows_sr3 = mysql_num_rows($sr3); mysql_select_db($database_pods, $pods); $query_sr4 = "SELECT * FROM sr4"; $sr4 = mysql_query($query_sr4, $pods) or die(mysql_error()); $row_sr4 = mysql_fetch_assoc($sr4); $totalRows_sr4 = mysql_num_rows($sr4); mysql_select_db($database_pods, $pods); $query_sr5 = "SELECT * FROM sr5"; $sr5 = mysql_query($query_sr5, $pods) or die(mysql_error()); $row_sr5 = mysql_fetch_assoc($sr5); $totalRows_sr5 = mysql_num_rows($sr5); mysql_select_db($database_pods, $pods); $query_stx = "SELECT * FROM stx"; $stx = mysql_query($query_stx, $pods) or die(mysql_error()); $row_stx = mysql_fetch_assoc($stx); $totalRows_stx = mysql_num_rows($stx); mysql_select_db($database_pods, $pods); $query_kl = "SELECT * FROM kl"; $kl = mysql_query($query_kl, $pods) or die(mysql_error()); $row_kl = mysql_fetch_assoc($kl); $totalRows_kl = mysql_num_rows($kl); mysql_select_db($database_pods, $pods); $query_msc = "SELECT * FROM msc"; $msc = mysql_query($query_msc, $pods) or die(mysql_error()); $row_msc = mysql_fetch_assoc($msc); $totalRows_msc = mysql_num_rows($msc); mysql_select_db($database_pods, $pods); $query_total = "SELECT * FROM total_bawah"; $total = mysql_query($query_total, $pods) or die(mysql_error()); $row_total = mysql_fetch_assoc($total); $totalRows_total = mysql_num_rows($total); 

используйте этот SQL для копирования данных.

 insert into `CopyTable` (`colum1`,`colum2`) select `colum1`,`colum2` from `Sourcetable` 

пустой стол

 TRUNCATE TABLE `Sourcetable` 

пример :

 $insertSQL = "INSERT INTO sr1_full (`date`, `total_pending`, `appt_today`, `percent_appt_today`, `percent_complete`, `partial_complete`, `full_complete`, `return_technical`, `return_customer`, `return_cancel`, `cancel`, `reappt`, `focus`, `total_tepi`, `total_bawah`) SELECT `date`, `total_pending`, `appt_today`, `percent_appt_today`, `percent_complete`, `partial_complete`, `full_complete`, `return_technical`, `return_customer`, `return_cancel`, `cancel`, `reappt`, `focus`, `total_tepi`, `total_bawah` FROM `sr1`"; mysql_query($insertSQL); // data copied. $removeSQL = "TRUNCATE TABLE sr1"; mysql_query($removeSQL); // deleted all data from sr1 //data moved 

Причина, по которой вам трудно найти информацию о том, как это сделать, заключается в том, что это неправильный способ сделать это.

Вы не должны дублировать структуру таблицы для хранения данных для «сегодня» и данных за предыдущие дни. То, что вам нужно сделать, это сохранить все элементы в одной таблице панели управления и фильтровать на основе столбца даты, чтобы определить, какие элементы считаются сегодняшними. Подход, который вы пытаетесь сделать, перемещение строк из текущей таблицы в таблицу архивов неверен . Это не то, как работают базы данных.

Все, что сказано, вы выполнили бы это, используя команду select into table чтобы переместить все данные с today_dashboard all_dashboard данных на all_dashboard , а затем delete from today_dashboard чтобы очистить ее. Не делай этого . Пересмотрите свою архитектуру, чтобы сохранить ее как в одной таблице.

 $current_date = date("mdy"); $query = "INSERT INTO table_name (date,column1, column2, column3,...) VALUES ($current_date,value1, value2, value3,...)"; $result=mysql_query($query); 
  • Таким образом, вы должны вставить все даты в свой вкладку с текущей датой.
  • После сохранения записей в базу данных вы должны проверить, была ли текущая дата сопоставлена ​​с любыми записями. Если какие-либо записи обнаружены, вы должны удалить эту запись, используя запрос удаления. Таким образом, вы можете удалить все существующие записи из этой таблицы

    Надеюсь, это будет полезно для вас …