powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Auto Increment - как ДВА поля сделать ?
4 сообщений из 4, страница 1 из 1
Auto Increment - как ДВА поля сделать ?
    #39407548
Фотография антигерой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ID в таблице с autoincrement делаю и ещё одно поле желательно добавлять, примерно равное ему - чтоб использовать для индекса сортировки строк.

Но increment только один можно ставить - вот и возник вопрос: а как сделать их ДВА ?
...
Рейтинг: 0 / 0
Auto Increment - как ДВА поля сделать ?
    #39408416
sanek842
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
антигерой,
попробуй так
Код: plsql
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.
mysql> desc a;
+-------+---------+------+-----+---------+----------------+
| Field | Type    | Null | Key | Default | Extra          |
+-------+---------+------+-----+---------+----------------+
| i     | int(11) | NO   | PRI | NULL    | auto_increment |
| k     | int(11) | YES  |     | NULL    |                |
+-------+---------+------+-----+---------+----------------+
2 rows in set (0.00 sec)

mysql> insert into a(k) values ( ifnull((select max(aa.k)+1 from a aa),1) );
Query OK, 1 row affected (0.00 sec)

mysql> insert into a(k) values ( ifnull((select max(aa.k)+1 from a aa),1) );
Query OK, 1 row affected (0.00 sec)

mysql> select * from a;
+---+------+
| i | k    |
+---+------+
| 1 |    1 |
| 2 |    2 |
+---+------+
2 rows in set (0.00 sec)

mysql>
...
Рейтинг: 0 / 0
Auto Increment - как ДВА поля сделать ?
    #39408433
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanek842
Код: plsql
1.
insert into a(k) values ( ifnull((select max(aa.k)+1 from a aa),1) );

Так можно делать только если не будет конкурентных запросов (если движок InnoDB).

Я бы предпочел INSERT + UPDATE на основе LAST_INSERT_ID.
...
Рейтинг: 0 / 0
Auto Increment - как ДВА поля сделать ?
    #39408448
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft , т.к. поле предназначено, чтобы
антигеройиспользовать для индекса сортировки строк
то не-уникальность там вполне допустима.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Auto Increment - как ДВА поля сделать ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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