|
|
|
MySQL for Visual Studio (AUTO_INCREMENT)
|
|||
|---|---|---|---|
|
#18+
вадяи чем оно будет отличаться от last insert id ? LAST_INSERT_ID() возвращает сгенерированное значение для первой записи последнего запроса. УЖЕ вставленное. Т.е. имеющееся в таблице. SHOW TABLE STATUS показывает значение, которое будет первым сгенерировано при следующем запросе. Т.е. оно в таблице отсутствует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2015, 22:03:08 |
|
||
|
MySQL for Visual Studio (AUTO_INCREMENT)
|
|||
|---|---|---|---|
|
#18+
gai561miksoft Код: sql 1. И что вы собираетесь там увидеть по теме топика? Ну если только оценить объем данных для миграции... Хочу заступится за данное решение - если Вы попробуете данный запрос, то увидите одно из полей Auto_Increment.Да, есть такое. Однако: AkinaА смысл? даже немедленно после получения значения выполненный INSERT запросто может вставить ДРУГОЕ значение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2015, 22:38:12 |
|
||
|
MySQL for Visual Studio (AUTO_INCREMENT)
|
|||
|---|---|---|---|
|
#18+
Введу упрощение задачи - только я имею доступ к БД, т.е. никто, кроме меня не может добавить запись в БД, а значит значение AUTO_INCREMENT не может измениться случайным образом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2015, 23:12:40 |
|
||
|
MySQL for Visual Studio (AUTO_INCREMENT)
|
|||
|---|---|---|---|
|
#18+
gai561Введу упрощение задачи - только я имею доступ к БД, т.е. никто, кроме меня не может добавить запись в БД, а значит значение AUTO_INCREMENT не может измениться случайным образом.Ну тогда берите MAX(ID)+1 для следующего номера, и всех делов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2015, 23:18:43 |
|
||
|
MySQL for Visual Studio (AUTO_INCREMENT)
|
|||
|---|---|---|---|
|
#18+
Это не гарантирует правильность результата. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2015, 23:20:10 |
|
||
|
MySQL for Visual Studio (AUTO_INCREMENT)
|
|||
|---|---|---|---|
|
#18+
gai561Это не гарантирует правильность результата.Что значит "не гарантирует" ? Вы же сами решили, что "только я имею доступ к БД". Как еще он может измениться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2015, 23:21:24 |
|
||
|
MySQL for Visual Studio (AUTO_INCREMENT)
|
|||
|---|---|---|---|
|
#18+
Элементарно - я неделю назад удалил несколько последних записей и уже, естественно, забыл об этом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2015, 23:33:51 |
|
||
|
MySQL for Visual Studio (AUTO_INCREMENT)
|
|||
|---|---|---|---|
|
#18+
gai561Элементарно - я неделю назад удалил несколько последних записей и уже, естественно, забыл об этом.Ну и что? Если это были последние записи, то MAX(ID)+1 даст верный результат. Есди это были непоследние записи, то все равно MAX(ID)+1 даст верный результат, в том смысле, что это значение можно смело использовать для вставки в таблицу, нарушения уникальности не возникнет. Так образом, роль первичного ключа - однозначно идентифицировать запись - не будет нарушена. А то что будут пропуски, так это не имеет никакого значения, они всегда будут. Первая же откатившаяся транзакция с INSERT-ом даст пропуск. Да и в других, сугубо технологических, случаях могут возникать пропуски. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2015, 23:41:20 |
|
||
|
MySQL for Visual Studio (AUTO_INCREMENT)
|
|||
|---|---|---|---|
|
#18+
Слушающий да услышит. Ощущение разговора глухого с немым. Если Вам кажется данное решение достаточным, пользуйтесь. Мне оно не подходит - выше я уже объяснял почему. Пока единственное, известное мне, корректное решение, это запрос Код: sql 1. Предложены также следующие решения: Код: sql 1. - некорректно, если последняя операция добавления была групповой Код: sql 1. - некорректно, если после последнего добавления записей производилось удаление записей с max значением ключа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2015, 23:51:37 |
|
||
|
MySQL for Visual Studio (AUTO_INCREMENT)
|
|||
|---|---|---|---|
|
#18+
gai561, 1) а зачем вы вводите данные вручную в поле с автоинкрементом? если уберете его из INSERT запроса, оно будет вводится автоматически. 2) можно отключить автоинкремент на время переноса данных ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2015, 00:14:30 |
|
||
|
MySQL for Visual Studio (AUTO_INCREMENT)
|
|||
|---|---|---|---|
|
#18+
gai561Мне оно не подходит - выше я уже объяснял почему.Нет, не объяснили. Впрочем, я не настаиваю на объяснении. gai561Пока единственное, известное мне, корректное решение, это запрос Код: sql 1. Код: sql 1. - некорректно, если после последнего добавления записей производилось удаление записей с max значением ключа.Вообще-то эти два способа должны дать один и тот же результат, если после рестарта сервера не было удаления записей с максимальным ID. gai561 Код: sql 1. - некорректно, если последняя операция добавления была групповойБолее того, вызов этой функции имеет смысл только в той сессии, в которой была произведена успешная вставка записи в таблицу с автоинкрементом. В противном случае её результат не определен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2015, 00:23:28 |
|
||
|
MySQL for Visual Studio (AUTO_INCREMENT)
|
|||
|---|---|---|---|
|
#18+
gai561Введу упрощение задачи - только я имею доступ к БД, т.е. никто, кроме меня не может добавить запись в БД, а значит значение AUTO_INCREMENT не может измениться случайным образом. Наивный... поищи темы про "дырки в автоинкременте". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2015, 00:37:39 |
|
||
|
MySQL for Visual Studio (AUTO_INCREMENT)
|
|||
|---|---|---|---|
|
#18+
gai561, если "только вы имеете доступ к БД", так и ведите учёт своих ключей локально (в текстовом файлике, ха-ха) - и будете железобетонно уверены, что сервер ничего "плохого" с ними не сделает. А то ишь, развели тут мути, умники. Ласт_инсерт_ид всякие, добавление по одной записи... тьпху, срамота! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2015, 05:02:41 |
|
||
|
MySQL for Visual Studio (AUTO_INCREMENT)
|
|||
|---|---|---|---|
|
#18+
tanglirgai561, если "только вы имеете доступ к БД", так и ведите учёт своих ключей локально (в текстовом файлике, ха-ха) - и будете железобетонно уверены, что сервер ничего "плохого" с ними не сделает. А то ишь, развели тут мути, умники. Ласт_инсерт_ид всякие, добавление по одной записи... тьпху, срамота! Я от души пожелаю Вам авто с кондиционером, только вот без кнопочки его включения - ездите с открытыми окнами - будет прохладно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2015, 09:37:55 |
|
||
|
MySQL for Visual Studio (AUTO_INCREMENT)
|
|||
|---|---|---|---|
|
#18+
Добавлю к предыдущему посту: несмотря на всю наивность и кажущуюся смехотворность предложения, я действительно склоняюсь к мысли, что для баз, пользователи которых общаются с помощью программ на Visual Studio, стоит отказаться от автоинкрементных ключей исходя з особенностей VS. Ха-ха. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2015, 09:47:40 |
|
||
|
MySQL for Visual Studio (AUTO_INCREMENT)
|
|||
|---|---|---|---|
|
#18+
Akinaвадяи чем оно будет отличаться от last insert id ? LAST_INSERT_ID() возвращает сгенерированное значение для первой записи последнего запроса. УЖЕ вставленное. Т.е. имеющееся в таблице. SHOW TABLE STATUS показывает значение, которое будет первым сгенерировано при следующем запросе. Т.е. оно в таблице отсутствует. ну различия не существенны, по сравнению с затратами. ну и месту применения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2015, 10:08:43 |
|
||
|
MySQL for Visual Studio (AUTO_INCREMENT)
|
|||
|---|---|---|---|
|
#18+
gai561я действительно склоняюсь к мысли, что для баз, пользователи которых общаются с помощью программ на Visual Studio, стоит отказаться от автоинкрементных ключей исходя з особенностей VSТаки я правильно предлагал перенести топик в C/C++. Сейчас переносить не буду. Если будет желание - перезадайте этот вопрос там. Дабы топик не скатился во флуд, закрываю. По технической части уже все сказали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2015, 10:32:09 |
|
||
|
MySQL for Visual Studio (AUTO_INCREMENT)
|
|||
|---|---|---|---|
|
#18+
По техническим причинам не могу перенести сюда стартовый пост другого топика, поэтому цитирую целиком: gai561Странное решение закрыть тему. Тема правильно называется и правильно расположена. Для тех, кому действительно необходимо решение, публикую свое, пока не доработали MySQL for Visual Studio (или кто-то подсказал другое решение): Код: c# 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. Прошу модератора возобновить тему и перенести туда это сообщение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2015, 15:09:39 |
|
||
|
MySQL for Visual Studio (AUTO_INCREMENT)
|
|||
|---|---|---|---|
|
#18+
вадяразличия не существенны Пол младшего ребёнка в семье, и пол ребёнка, которого планируется зачать - не одно и тоже. Верно? Вот и здесь суть та же. А ты говоришь - несущественны... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2015, 15:43:21 |
|
||
|
MySQL for Visual Studio (AUTO_INCREMENT)
|
|||
|---|---|---|---|
|
#18+
Доработал решение, теперь оно универсально - бери себе и вставляй в свой проект: Код: c# 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. 28. 29. Для получения AUTO_INCREMENT для нужной таблицы использовать вызов типа: Код: c# 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2015, 16:07:59 |
|
||
|
MySQL for Visual Studio (AUTO_INCREMENT)
|
|||
|---|---|---|---|
|
#18+
Akinaвадяразличия не существенны Пол младшего ребёнка в семье, и пол ребёнка, которого планируется зачать - не одно и тоже. Верно? Вот и здесь суть та же. А ты говоришь - несущественны... если ты знаешь в какой момент зачать, чтоб ребёнок был нужного пола, хоть первого, хоть второго то пол первого ребёнка будет для тебя важен если тебе известно зависимость , где одним из параметром является пол первого ребенка. а в данном случае зависимость +-1 роли не играет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2015, 16:44:19 |
|
||
|
MySQL for Visual Studio (AUTO_INCREMENT)
|
|||
|---|---|---|---|
|
#18+
вадя Ребят, вам действительно негде пофлудить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2015, 17:01:26 |
|
||
|
MySQL for Visual Studio (AUTO_INCREMENT)
|
|||
|---|---|---|---|
|
#18+
странное желание у ТС - это или не владение базами или показать свою значимость? о каком трафике идет речь? делать таким образом миграцию большого объёма данных - довольно странное решение. можно сделать много проще и быстрее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2015, 17:06:50 |
|
||
|
MySQL for Visual Studio (AUTO_INCREMENT)
|
|||
|---|---|---|---|
|
#18+
gai561вадя Ребят, вам действительно негде пофлудить? есть , но здесть есть повод :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2015, 17:08:07 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39135229&tid=1832341]: |
0ms |
get settings: |
9ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
48ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 364ms |

| 0 / 0 |
