Этот сайт не наркоманов. Это сайт программистов.

Добро пожаловать на Пыху!

Логин:
Пароль:
 

Нет прописки? Зарегистрируйся!

Новости

Пыха информатор 3.1
Еще более удобное оповещение о флуде!

Краснодарское время: 24 Май, 2012, 07:30:05

Страниц: [1] 2 3
Печать
Автор Тема: вычислить id  (Прочитано 2386 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Mr.Pihto    ↓ 
25 Июль, 2009, 03:27:16
НЕ ХУЕТА! ХУЕТА!
не выябывайся
Группа: Адекваты

Карма: 17
Сообщений: 1398
Сила слова: 1.22

такая хрень: когда добавляю в базу записи то автоинкрементом увеличиваеца ид. а когда удаляю эти записи то автоинкремент не слетает. так вот если я все записи поудалял и забыл какойтам был последний ид(максимальный) как мне его узнать?
Записан
Givi    ↓ 
25 Июль, 2009, 04:11:54 , спустя 44 минуты 38 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 42
Сообщений: 2305
Сила слова: 1.82

вопрос: а нах он тебе нужен ?
 
Решение:
1. Добавь ещё одну запись, узнай её айди, отними 1 (единицу) - готово.
2. Посмотри в пыхомиадмине с какого числа будет идти вставка айди (открываешь базу - таблицу - вкладка "операции" (кажеться она) - смотришь там).
Записан

Все, что говорят другие - неправда! До тех пор, пока ты сам в это не поверишь.
Если человек дурак, то... чур это не я!
Mr.Pihto    ↓ 
25 Июль, 2009, 04:14:15 , спустя 2 минуты 21 секунду
НЕ ХУЕТА! ХУЕТА!
не выябывайся
Группа: Адекваты

Карма: 17
Сообщений: 1398
Сила слова: 1.22

мне надо чтоб это в скрипте происходило
Записан
Givi    ↓ 
25 Июль, 2009, 04:27:08 , спустя 12 минут 53 секунды
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 42
Сообщений: 2305
Сила слова: 1.82

Mr.Pihto, в скрипте, в котором все удаляется ?
Если да, то сначала ищи максимальный айди, после этого уже делай удаление :)
Записан

Все, что говорят другие - неправда! До тех пор, пока ты сам в это не поверишь.
Если человек дурак, то... чур это не я!
Mr.Pihto    ↓ 
25 Июль, 2009, 04:45:21 , спустя 18 минут 13 секунд
НЕ ХУЕТА! ХУЕТА!
не выябывайся
Группа: Адекваты

Карма: 17
Сообщений: 1398
Сила слова: 1.22

короче скрипт записывает в таблицу данные. под каким идо хз после того как там все поудаляли вот мне нужно чтоб в другую таблицу в этом же скрипте записывалась другая инфа и в поле в спецальном писался ид той записи которую в первую таблицу записывал
Записан
md5    ↓ 
25 Июль, 2009, 08:36:26 , спустя 3 часа 51 минуту 5 секунд
НЕ ХУЕТА! ХУЕТА!

выезд, апартаменты, массаж, стриптиз, подружки, дорого
Группа: в ухо

Карма: не нужна
Сообщений: 10494
Сила слова: 1.19

mysql_insert_id
больше ничего не нужно при работе с автоинкрементами...
Записан

8: Undefined variable: str
Файл: /home/pyha/pyha.ru/forum/bbcode/Xbb/Tags/Man.php
Строка: 18
adw0rd: мудень блять, я уже фиксить стал эту фигню :)
md5: вуахахахаха
Timur    ↓ 
25 Июль, 2009, 05:33:19 , спустя 8 часов 56 минут 53 секунды
НЕ ХУЕТА! ХУЕТА!

NullPointerException
Группа: в ухо

Карма: 56
Сообщений: 1009
Сила слова: 5.55


короче скрипт записывает в таблицу данные. под каким идо хз после того как там все поудаляли вот мне нужно чтоб в другую таблицу в этом же скрипте записывалась другая инфа и в поле в спецальном писался ид той записи которую в первую таблицу записывал
а нельзя узнать ID этих записей перед их удалением?
Записан
Mr.Pihto    ↓ 
25 Июль, 2009, 05:54:40 , спустя 21 минуту 21 секунду
НЕ ХУЕТА! ХУЕТА!
не выябывайся
Группа: Адекваты

Карма: 17
Сообщений: 1398
Сила слова: 1.22

можно. сначало думал так делать. но это для них надо аж целую таблицу создавать:) короче делаю просто: записываю данные в одну таблицу потом беру ид этой записи и подставляю его в запрос когда записываю данные в другую таблицу
Записан
Givi    ↓ 
25 Июль, 2009, 07:00:29 , спустя 1 час 5 минут 49 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 42
Сообщений: 2305
Сила слова: 1.82

ну вообще-то так всегда и делается, если эти данные вставляются в разные таблицы и это разные данные :)
Записан

Все, что говорят другие - неправда! До тех пор, пока ты сам в это не поверишь.
Если человек дурак, то... чур это не я!
Mr.Pihto    ↓ 
26 Июль, 2009, 12:05:27 , спустя 5 часов 4 минуты 58 секунд
НЕ ХУЕТА! ХУЕТА!
не выябывайся
Группа: Адекваты

Карма: 17
Сообщений: 1398
Сила слова: 1.22

нужно было некоторые данные из той таблицы которые мне неизвестны до того как я туда ниче не запишу записать в другую
Спустя 47 секунд добавил
а остальные всев двух ьаблицах данные разные
Спустя 34 секунды добавил
акромя вот этого вот ида
Записан
Givi    ↓ 
26 Июль, 2009, 03:29:02 , спустя 3 часа 23 минуты 35 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 42
Сообщений: 2305
Сила слова: 1.82

Mr.Pihto, ты строишь сам себе стенку, в которую бьешся головой :)
Пиши во вторую таблицу данные без того АйДи, который ПОКА не знаешь. А когда он будет известен, то просто сделаешь апдейт строки. Потому как пока логики в твоей хуйне я не вижу: вставить те данные, которых пока нет, и о которых ни мы ни кто иной пока не знает и знать не может.
Записан

Все, что говорят другие - неправда! До тех пор, пока ты сам в это не поверишь.
Если человек дурак, то... чур это не я!
Mr.Pihto    ↓ 
26 Июль, 2009, 06:08:13 , спустя 2 часа 39 минут 11 секунд
НЕ ХУЕТА! ХУЕТА!
не выябывайся
Группа: Адекваты

Карма: 17
Сообщений: 1398
Сила слова: 1.22

пиздец я ж грю я так и сделал. :)
Спустя 1 минуту 5 секунд добавил
ещё в позопосте написал)
Спустя 1 минуту 59 секунд добавил
и логика тут есть :) тыж просто всего незнаеш :))
Записан
KENDO    ↓ 
26 Июль, 2009, 10:41:25 , спустя 4 часа 33 минуты 12 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 10
Сообщений: 444
Сила слова: 2.25

Гуглил несколько дней назад эту тему, пока из под консольки елся со структурой таблиц (=
Один из корявых методов, попавшийся на глаза:
Text
SHOW TABLE STATUS LIKE 'table_name' ");
Где-то тут будет поле auto_incerement...
 
Другой, более симпатичный метод:
Text
SELECT Auto_increment
FROM information_schema.tables
WHERE table_name='the_table_you_want';
Записан
AlexB    ↓ 
27 Июль, 2009, 02:02:21 , спустя 1 день 3 часа 20 минут 56 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: в ухо

Карма: 89
Сообщений: 3423
Сила слова: 2.6


и логика тут есть :) тыж просто всего незнаеш :))
ну дык объясни эту логику, я ее тоже не вижу.
А на досуге поразмысли над тем вопросом, что если ты узнаешь id раньше чем добавляются сами данные, то другой процесс может в этот промежуток добавить совсем другие данные под этим id, посему нормальные люди так не делают ...
Записан

artoodetoo    ↓ 
27 Июль, 2009, 03:34:16 , спустя 1 час 31 минуту 55 секунд
НЕ ХУЕТА! ХУЕТА!

с особым цинизмом
Группа: в ухо

Карма: 124
Сообщений: 3804
Сила слова: 3.26

не понял зачем ТС хочет уменьшать автоинкремент при удалении. а вот узнать последнее значение перед вставкой нового мне недавно захотелось. вот:
 
есть аплоад/даунлоад файлов. сами загруженные файлы хранятся в файловой системе со случайными именами, а в бд хранится описание, в т.ч. путь до сохранённого файла. чтобы количество файлов в папке не превысило разумную величину (например 1000) завел такое правило - имя под-папки == trunc(id/1000)
просто и красиво! вот только id мы узнаем когда файл ВСЕ операции над файлом уже произведены. пока поставил SELECT max(id) перед сохранением файла. благо что мне непринципиально что кто-то может параллельно добавлять ещё один файл и в папке окажется 1001 или 1002 файла :)
 
вопрос: какое правило придумать чтобы не считать количество файлов, не вызывать лишний select и кол-во файлов в одной папке не (сильно) превысило лимит?
« Последнее редактирование: 27 Июль, 2009, 03:34:16 от artoodetoo » Записан
Страниц: [1] 2 3
Печать
 

Перейти в: