adios 3 Опубликовано: 14 августа 2018 Рассказать Опубликовано: 14 августа 2018 Здравствуйте. Возникла ситуация, в которой, к примеру, новость А была добавлена в 18:35:01 и получила id 999, а новость Б добавлена в 18:35:20 и имеет id 998. Подскажите, id присваивается в момент отправки/добавления новости или как-то иначе? Ссылка на сообщение Поделиться на других сайтах
webair 179 Опубликовано: 14 августа 2018 Рассказать Опубликовано: 14 августа 2018 25 минут назад, adios сказал: Здравствуйте. Возникла ситуация, в которой, к примеру, новость А была добавлена в 18:35:01 и получила id 999, а новость Б добавлена в 18:35:20 и имеет id 998. Подскажите, id присваивается в момент отправки/добавления новости или как-то иначе? // Отрывок из engine/inc/addnews.php // Генерация даты if( $newdate ) { if( (($newsdate = strtotime( $newdate )) === - 1) OR !$newsdate ) { msg( "error", array('javascript:history.go(-1)' => $lang['addnews'], '' => $lang['addnews_error'] ), $lang['addnews_erdate'], "javascript:history.go(-1)" ); } else { $thistime = date( "Y-m-d H:i:s", $newsdate ); } if( ! intval( $config['no_date'] ) and $newsdate > $added_time ) { $thistime = date( "Y-m-d H:i:s", $added_time ); } } else $thistime = date( "Y-m-d H:i:s", $added_time ); // Добавление в БД $db->query( "INSERT INTO " . PREFIX . "_post (date, autor, short_story, full_story, xfields, title, descr, keywords, category, alt_name, allow_comm, approve, allow_main, fixed, allow_br, symbol, tags, metatitle) values ('$thistime', '{$author}', '$short_story', '$full_story', '$filecontents', '$title', '{$metatags['description']}', '{$metatags['keywords']}', '$category_list', '$alt_name', '$allow_comm', '$approve', '$allow_main', '$news_fixed', '$allow_br', '$catalog_url', '{$_POST['tags']}', '{$metatags['title']}')" ); $id = $db->insert_id(); $db->query( "INSERT INTO " . PREFIX . "_post_extras (news_id, allow_rate, votes, disable_index, access, user_id, disable_search, need_pass) VALUES('{$id}', '{$allow_rating}', '{$add_vote}', '{$disable_index}', '{$group_regel}', '{$userid}', '{$disable_search}', '{$need_pass}')" ); Ссылка на сообщение Поделиться на других сайтах
celsoft 6221 Опубликовано: 14 августа 2018 Рассказать Опубликовано: 14 августа 2018 36 минут назад, adios сказал: Здравствуйте. Возникла ситуация, в которой, к примеру, новость А была добавлена в 18:35:01 и получила id 999, а новость Б добавлена в 18:35:20 и имеет id 998. Подскажите, id присваивается в момент отправки/добавления новости или как-то иначе? DLE id не назначает вообще, их присваевает MySQL сервер автоматически в момент добавления информации в БД. А дата может быть установлена у самой публикации при добавлении в админпанели, и может быть какой угодно, а не только той, что в момент добавления. Ссылка на сообщение Поделиться на других сайтах
adios 3 Опубликовано: 14 августа 2018 Рассказать Опубликовано: 14 августа 2018 (изменено) Автор 2 часа назад, celsoft сказал: DLE id не назначает вообще, их присваевает MySQL сервер автоматически в момент добавления информации в БД. А дата может быть установлена у самой публикации при добавлении в админпанели, и может быть какой угодно, а не только той, что в момент добавления. Я понимаю, что идентификатор присваивает mysql. Если не учитывать "ручное" изменение даты, какие еще могут быть варианты? Изменено 14 августа 2018 пользователем adios Ссылка на сообщение Поделиться на других сайтах
celsoft 6221 Опубликовано: 14 августа 2018 Рассказать Опубликовано: 14 августа 2018 10 часов назад, adios сказал: Если не учитывать "ручное" изменение даты, какие еще могут быть варианты? Новость поступила в БД позднее, тут нет вариантов. Где она была, сложно сказать. Может быть в очереди на выполнение на MySQL сервере, может быть первая транкзация не выполнилась и была перезапущена MySQL сервером. Может быть у вас БД в кластере, и синхронизация так произошла и т.д. и т.п. Много вариантов на самом деле. Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВойти
Уже зарегистрированы? Войдите здесь.
Войти сейчас