Вопрос в следующем: мне нужно узнать какой id присвоится строке при добавлении в таблицу. Хотел сделать так, выбрать максимальное id из таблицы и +1, но прикол в том, что если в таблице была удалена последняя запись с id=10 например, то максимальное id в базе останется 9, а следующий id строки присвоит уже не 10, а 11. Так вот как узнать какой id присвоит строке? Нужно для того чтобы при закачивании картинки в базе хранилось имя картинки = id!
mysql_insert_id() возвращает 0, у меня нет запроса к БД, я просто через админку добавляю строку в БД mysql_query ("INSERT INTO posts и т.д.
Hight ух ты.. инетересная инфа. А я уже хотел тригер рисовать на вставку новой строке. У меня Одно поле напрямую зависит от автоинкременнтного ключа =)
Hight при большой конкурентности совсем не факт что ты угадаешь, а если поле уник то капец лучше сначала билибердой заполнить, потом апнуть до нормальной цифры
Да. Я просто на вопрос ответил. Понятное дело, что надо проектировать по-другому, чтобы такой задачки не было.
Hight ага, я просто именно по этой теме сденя все утро гуглил)))))))))))) регистрация guest аккаунта в соц сети, у него имя аля guest#$myid а майайди известен когда только добавляется строка. в склсервере от m$ есть решение, под мускуль пока нету насколько я нагуглил, там это IDENT_CURRENT функция
Всё есть. Временные записи. Делаешь таблицу вида: auto++ | uniq_id | active | bla-bla-bla где uniq_id ты генеришь сам перед вставкой. Как угодно, хоть так: $uniq_id = uniqid(); active - активно ли поле, типа есть ли запись =) Далее делаешь инсёрт. У тебя есть запись с автоинкрементированным идом и твоим уникидом. Делаешь селект по уникиду и выдёргиваешь автоинкремент. Всё. А дальше делай чо хочешь. Апдейт или делит, как надо будет.
Hight он грит, сделать запись в бд пофик че. получив id этой записи уже в нее внести нужную инфу. но это опасно.