Копирование строк в SQL

198
01 апреля 2018, 17:49

Добрый день! Помогите плз. разобраться. Нужно сделать копирование товаров в пределах одной таблицы sql. Например есть таблица товаров интерне-магазина и есть похожие товары которые лень вносить каждый раз заново, а было бы удобно нажать на похожем товаре "Копировать", подправить нужные данные и добавить как новый товар.

Хотел сделать на основе функции удаления, заменив $action на $action_copy а "delete" на "copy", но не получилось

$action = $_GET["action"]; 
if (isset($action)) 
{ 
   $id = (int)$_GET["id"];  
   switch ($action) { 
 
	    case 'delete': 
   if ($_SESSION['delete_tovar'] == '1') 
   { 
           $delete = mysql_query("DELETE FROM category WHERE id = '$id'",$link);       
   }else 
   { 
      $msgerror = 'У вас нет прав на удаление товаров!'; 
   } 
	    break;         
	}  
}

Answer 1
mysql_query("INSERT INTO category SELECT * FROM category WHERE id = '$id'",$link);

Но! Если поле ID - первичный ключ или на нем уникальный индекс, то нужно исключить поле ID из вставки. Для этого придется перечислить все поля таблицы кроме ID. Т.е.

INSERT INTO category (<список полей кроме ID>) SELECT <список полей кроме ID> FROM category WHERE id = 

Другой вариант сделать то же - селектом извлечь запись и отдельным инсертом её вставить.

READ ALSO
Помогите составить SELECT запрос mysql. Yii2

Помогите составить SELECT запрос mysql. Yii2

Здравствуйте! У меня есть таблица, в ней хранятся данные по династическим полямВыглядит она так:

226
Помогите исправить ошибку Mysql Python [требует правки]

Помогите исправить ошибку Mysql Python [требует правки]

Не могу внести данные в базу из таблицы

215
Какая схема хранения дерева в базе подойдет

Какая схема хранения дерева в базе подойдет

Есть огромная вложенность данных, 12 тысзаписей

254
Вызов метода из существующего метода

Вызов метода из существующего метода

Не получается разобраться, каким образом при вызове метода передать в него параметр, кроме как указать его явно в первом методеЗадумка задачи,...

225