|
|
|
|
|
для: Trianon
(24.01.2010 в 21:12)
| | Спасибо. Все гениальное просто. :) | |
|
|
|
|
|
|
|
для: Лена
(24.01.2010 в 18:30)
| |
UPDATE product
SET product_pos = product_id
|
| |
|
|
|
|
|
|
|
для: Trianon
(24.01.2010 в 17:51)
| | Одним запросом это через INSERT...SELECT
Создала поле product_pos.
Я так делала, когда из одной таблицы выбирала, а в другую вставляла, а здесь все надо внутри одной сделать. Там же в мануале написано: you cannot insert into a table and select from the same table in a subquery.
Если я добавляю алиас к той же таблице. ничего не происходит:
INSERT INTO product (product_pos)
SELECT p2.product_id
FROM product p2
|
| |
|
|
|
|
|
|
|
для: Лена
(24.01.2010 в 14:31)
| | еще не поздно предусмотреть.
Заполнить его значением первичного ключа - 1 запрос.
Менять первичный ключ у записи так или иначе не выход. | |
|
|
|
|
|
|
| Продукты с `product_id` с 11 по 18 принадлежат одной категории cat_id=20.
Мне нужно продукт с product_id=18 расположить после product_id=11, соответственно все другие продукты в этой категории должны увеличить свое product_id на 1.
Можно как-то выйти из этой ситуации? Я поле позиции продукта не предусмотрела при проектировании таблицы.
Структура таблицы такая:
CREATE TABLE `product` (
`product_id` int(11) NOT NULL auto_increment,
`product_title` text,
`product_text` text NOT NULL,
`product_descr` text NOT NULL,
`product_descr_price` text NOT NULL,
`product_img` text NOT NULL,
`popular_product` tinyint(4) NOT NULL,
`cat_id` int(11) NOT NULL,
PRIMARY KEY (`product_id`),
KEY `cat_id` (`cat_id`)
) ENGINE=MyISAM AUTO_INCREMENT=63 DEFAULT CHARSET=utf8 AUTO_INCREMENT=63 ;
|
| |
|
|
|
|