Перейти к публикации

Рекомендованные сообщения

Здравствуйте. Возникла ситуация, в которой, к примеру, новость А была добавлена в 18:35:01 и получила id 999, а новость Б добавлена в 18:35:20 и имеет id 998. Подскажите, id присваивается в момент отправки/добавления новости или как-то иначе?

Ссылка на сообщение
Поделиться на других сайтах
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}')" );
	

 

Ссылка на сообщение
Поделиться на других сайтах
36 минут назад, adios сказал:

Здравствуйте. Возникла ситуация, в которой, к примеру, новость А была добавлена в 18:35:01 и получила id 999, а новость Б добавлена в 18:35:20 и имеет id 998. Подскажите, id присваивается в момент отправки/добавления новости или как-то иначе?

DLE id не назначает вообще, их присваевает MySQL сервер автоматически в момент добавления информации в БД. А дата может быть установлена у самой публикации при добавлении в админпанели, и может быть какой угодно, а не только той, что в момент добавления.

Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, celsoft сказал:

DLE id не назначает вообще, их присваевает MySQL сервер автоматически в момент добавления информации в БД. А дата может быть установлена у самой публикации при добавлении в админпанели, и может быть какой угодно, а не только той, что в момент добавления.

Я понимаю, что идентификатор присваивает mysql. Если не учитывать "ручное" изменение даты, какие еще могут быть варианты?

Изменено пользователем adios
Ссылка на сообщение
Поделиться на других сайтах
10 часов назад, adios сказал:

Если не учитывать "ручное" изменение даты, какие еще могут быть варианты?

Новость поступила в БД позднее, тут нет вариантов. Где она была, сложно сказать. Может быть в очереди на выполнение на MySQL сервере, может быть первая транкзация не выполнилась и была перезапущена MySQL сервером. Может быть у вас БД в кластере, и синхронизация так произошла и т.д. и т.п. Много вариантов на самом деле. 

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...