2016-01-06 2 views
1

У меня есть столбец ProductName in Products. Пользователь может дублировать продукт. При копировании продукта мне нужно скопировать все поля из таблицы Products для конкретного продукта и создать новую запись, кроме поля ProductName. Поле ProductName должно быть следующим:Как добавить инкрементное число для каждой вставки записи в mysql

для 1-го дубликата: ProductName_Copy_1
для 2-х экземплярах: ProductName_Copy_2
и т.д.

Может кто-нибудь предложить мне, как это сделать.

ответ

0

Используйте подзапрос для создания номера:

insert into product 
select 
    concat(productname, '_', 
    (select count(*) from product 
    where productname like concat(p.productname, '%')), 
    col2, col3, .... 
from product p 
where id = <original product id to copy> 
+0

Спасибо за ответ. Это работает хорошо. – user2219742

+0

http://meta.stackoverflow.com/questions/314202/why-was-this-question-considered-primarily-opinion-based –

0

Ну, если вы используете PHPMyAdmin, есть атрибут AUTO_INCREMENT, вы можете установить строки. Каждая строка будет уникально идентифицирована этим значением.

Более подробную информацию можно найти здесь http://dev.mysql.com/doc/refman/5.7/en/example-auto-increment.html

Смежные вопросы