Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Возможно ли и как? (обновить столбец числами по порядку) / 7 сообщений из 7, страница 1 из 1
23.09.2005, 14:04:01
    #33286046
trijin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возможно ли и как? (обновить столбец числами по порядку)
Есть.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
CREATE TABLE IF NOT EXISTS `cat` (
  `cat_id` bigint( 20 ) NOT NULL auto_increment,
  `cat_left` int( 11 ) NOT NULL default '0',
  `cat_right` int( 11 ) NOT NULL default '0',
  `cat_level` int( 11 ) NOT NULL default '0',
  `cat_name` varchar( 200 ) NOT NULL default '',
  `cat_type` tinyint( 1 ) NOT NULL default '0',
  PRIMARY KEY  (`cat_id`),
  KEY `cat_level` (`cat_level`),
);
INSERT INTO `cat` VALUES 
( 1 ,  1 ,  724 ,  0 , 'Главная', 1 ),
( 28 ,  277 ,  278 ,  1 , 'cat1',  1 ),
( 29 ,  361 ,  362 ,  1 , 'cat2',   1 ),
( 33 ,  311 ,  314 ,  1 , 'cat3', 1 ),
( 34 ,  477 ,  540 ,  1 , 'cat4'  1 ),
( 35 ,  281 ,  292 ,  1 , 'cat5', 1 ),
( 40 ,  357 ,  358 ,  1 , 'cat6',  1 ),
( 41 ,  363 ,  364 ,  1 , 'cat7',  1 ),
( 42 ,  359 ,  360 ,  1 , 'cat8',  1 ),
( 43 ,  299 ,  300 ,  1 , 'cat9',  1 ),
( 44 ,  335 ,  336 ,  1 , 'cat10',  1 ),
( 50 ,  413 ,  414 ,  1 , 'cat11',   1 ),
( 52 ,  375 ,  376 ,  1 , 'cat12',   1 ),
( 53 ,  411 ,  412 ,  1 , 'cat13',  1 ),
( 54 ,  415 ,  416 ,  1 , 'cat14',   1 ),
( 55 ,  425 ,  440 ,  1 , 'cat15',  1 );
а получить надо
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
CREATE TABLE IF NOT EXISTS `cat2` (
  `cat_id` bigint( 20 ) NOT NULL auto_increment,
  `cat_left` int( 11 ) NOT NULL default '0',
  `cat_right` int( 11 ) NOT NULL default '0',
  `cat_level` int( 11 ) NOT NULL default '0',
  `cat_name` varchar( 200 ) NOT NULL default '',
  `cat_type` tinyint( 1 ) NOT NULL default '0',
  PRIMARY KEY  (`cat_id`),
  KEY `cat_level` (`cat_level`),
);
INSERT INTO `cat2` VALUES 
( 1 ,  1 ,  1030 ,  0 , 'Главная', 1 ),
( 28 ,  1000 ,  1001 ,  1 , 'cat1',  1 ),
( 29 ,  1002 ,  1003 ,  1 , 'cat2',   1 ),
( 33 ,  1004 ,  1005 ,  1 , 'cat3', 1 ),
( 34 ,  1006 ,  1007 ,  1 , 'cat4'  1 ),
( 35 ,  1008 ,  1009 ,  1 , 'cat5', 1 ),
( 40 ,  1010 ,  1011 ,  1 , 'cat6',  1 ),
( 41 ,  1012 ,  1013 ,  1 , 'cat7',  1 ),
( 42 ,  1014 ,  1015 ,  1 , 'cat8',  1 ),
( 43 ,  1016 ,  1017 ,  1 , 'cat9',  1 ),
( 44 ,  1018 ,  1019 ,  1 , 'cat10',  1 ),
( 50 ,  1020 ,  1021 ,  1 , 'cat11',   1 ),
( 52 ,  1022 ,  1023 ,  1 , 'cat12',   1 ),
( 53 ,  1024 ,  1025 ,  1 , 'cat13',  1 ),
( 54 ,  1026 ,  1027 ,  1 , 'cat14',   1 ),
( 55 ,  1028 ,  1029 ,  1 , 'cat15',  1 );

Можно ли подобное провернуть непосредственно в запросе? UPDATE'ом?


...спасибо за ваше потраченное время...
...
Рейтинг: 0 / 0
23.09.2005, 14:59:32
    #33286221
4m@t!c
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возможно ли и как? (обновить столбец числами по порядку)
А что мешает взять и попробовать?
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
23.09.2005, 15:43:47
    #33286350
ru_levoy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возможно ли и как? (обновить столбец числами по порядку)
как я понял у тебя есть какой-то табл сат и ты хочешь обновить его значения?!
1. Зачем тогда создаешь сат2?!
2. Конечно можно - именно апдейтом.
3. Но первоначальные данные вносишь инсертом
вот пример:
insert into pr (abc) values (1)
insert into pr (abc) values (2)
insert into pr (abc) values (3)
insert into pr (abc) values (4)
insert into pr (abc) values (5)
update pr
set abc=1000+(2*id_n)
Результат:
abc id_n

1002 1
1004 2
1006 3
1008 4
1010 5
...
Рейтинг: 0 / 0
23.09.2005, 15:50:42
    #33286368
ru_levoy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возможно ли и как? (обновить столбец числами по порядку)
как я понял у тебя есть какой-то табл сат и ты хочешь обновить его значения?!
1. Зачем тогда создаешь сат2?!
2. Конечно можно - именно апдейтом.
3. Но первоначальные данные вносишь инсертом
вот пример:
insert into pr (abc) values (1)
insert into pr (abc) values (2)
insert into pr (abc) values (3)
insert into pr (abc) values (4)
insert into pr (abc) values (5)
update pr
set abc=1000+(2*id_n)
Результат:
abc id_n

1002 1
1004 2
1006 3
1008 4
1010 5
...
Рейтинг: 0 / 0
23.09.2005, 17:18:07
    #33286595
trijin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возможно ли и как? (обновить столбец числами по порядку)
Это был примердвух таблиц, одна которая имеется...
Уже имеется и количество строк там куда больше.
ID разные... т.е. id+1000 не катит...
вторая таблица это просто пример того что надо
(на сколкьо я помню по правилам хорошего тона на этом форуме при вопросе желательно давать тестовые таблицы, которые я и дал)
...
Рейтинг: 0 / 0
23.09.2005, 17:23:15
    #33286611
Валентин К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возможно ли и как? (обновить столбец числами по порядку)
update поможет, если будет откуда счетчик к ключу взять.
Поясняю.
1) Выгрузить ключи в нужном поряжке и сразу со счетчиком, например так
SET @a:=0;
create temporary table tmp1
select ID, @a:=@a+1 as TheCounter
from mytable
Order by MyField;
2) Обновить исходную таблицу
update mytable, tmp1 SET
mytable.TheCounter=tmp1.MyCounter
where mytable.ID=tmp1.ID;

подходит такое решение?
...
Рейтинг: 0 / 0
26.09.2005, 10:59:49
    #33288046
trijin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возможно ли и как? (обновить столбец числами по порядку)
Скорее всебо подойдет, но к сожалению, накрылась вся рабочая база и я исправил вручную... (сколько ж сил стоило.) но для всей базы это бы панацеей небыло - одно утешает.
Данное свойство подходило только для части элементов.
Но большое спасибо.!!!!!
На будущее буду знать.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Возможно ли и как? (обновить столбец числами по порядку) / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]