Как получить текущие записи даты из таблицы mysql, где нет столбца даты в таблице [duplicate]

Прежде всего, если вы находитесь в & lt; 5.3PHP, то нет. У тебя много проблем, чтобы справиться.

Я удивлен, что никто не упомянул библиотеку intl , которая имеет хорошую поддержку для unicode, графем, строковых операций, локализации и многих других, см. ниже.

Я приведу некоторую информацию о поддержке Unicode в PHP с помощью слайдов Elizabeth Smith в PHPBenelux'14

INTL

Хорошо:

  • Обертка вокруг библиотеки ICU
  • Стандартизованные локали, установка языка для каждого скрипта
  • Форматирование чисел
  • Форматирование валюты
  • Форматирование сообщений (заменяет gettext)
  • Календари, даты, часовой пояс и время
  • Транслитератор
  • Spoofchecker
  • Пакеты ресурсов
  • Конвертеры
  • Поддержка IDN
  • Graphemes
  • Collation
  • Итераторы

Плохо :

  • Не поддерживает zend_multibite
  • Не поддерживает преобразование входного сигнала HTTP
  • Не поддерживает перегрузку функции

mb_string

  • Включает поддержку zend_multibyte
  • Поддерживает прозрачную кодировку HTTP in / out
  • Предоставляет некоторые обертки для funtionallity, такие как strtoupper

ICONV

  • Первичный для преобразования кодировки
  • Обработчик выходных буферов
  • Функциональность кодирования mime
  • conversion
  • некоторые строковые помощники (len, substr, strpos, strppos)
  • Фильтр потока stream_filter_append($fp, 'convert.iconv.ISO-2022-JP/EUC-JP')

БАЗЫ ДАННЫХ

  • mysql: кодировка и сопоставление таблиц и соединений (не сортировка). Также не используйте mysql-msqli или PDO
  • postgresql: pg_set_client_encoding
  • sqlite (3): убедитесь, что он был скомпилирован с поддержкой unicode и intl

Некоторые другие Gotchas

  • Вы не можете использовать имена файлов Unicode с PHP и Windows, если вы не используете расширение третьей части.
  • Отправлять все в ASCII, если вы используете exec, proc_open и другие вызовы командной строки
  • Обычный текст - это не обычный текст, файлы имеют кодировки
  • Вы можете конвертировать файлы «на лету» с фильтром iconv

Я обновлю этот ответ, если что-то изменит добавленные функции и так далее.

4
задан Ja͢ck 31 May 2013 в 09:16
поделиться

3 ответа

Вот как это сделать: https://www.marcus-povey.co.uk/2013/03/11/automatic-create-and-modified-timestamps-in-mysql/

Надеюсь, это поможет

-1
ответ дан laurent belloeil 4 September 2018 в 07:21
поделиться

Единственный способ получить эту метку времени, если она сохраняется где-то на одном из ваших серверов. У вас есть веб-сервер, на который вы можете хранить архив журналов.

Предположим, что у вас есть журналы веб-сервера, и есть запись для каждого или большинства действий скрипта PHP, а затем потенциально , вы можете проанализировать этот журнал, получить временную метку и сопоставить ее со строками в базе данных. Как вы можете видеть, это вполне трудоемко, но не совсем невозможно.

Как и для MySQL (или любой другой базы данных), обычно они не хранят большой архив прошлой информации. Основная причина этого - разработчик приложения или разработчик приложения решить, какая информация должна быть сохранена или нет.

Просто была идея, что у вас есть архив журналов транзакций (что я действительно сомневаюсь), тогда вы можете повторно запустить их на резервную копию базы данных и могут быть они (журналы транзакций) содержат метку времени добавляемой или измененной строки.

2
ответ дан Stoleg 4 September 2018 в 07:21
поделиться

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

5
ответ дан Wayne Whitty 4 September 2018 в 07:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: