Для других людей, приезжающих сюда, возможно, вы попробовали INSERT IGNORE INTO
, и у вас есть значение UNIQUE
, которое уже было вставлено. В этом случае этот id равен нулю.
Также вы получите «ноль», если MySQL закончит соединение. Я не эксперт в отношении постоянных подключений, но это может помочь кому-то?
Как вы, вероятно, знаете, что расширение PHP «mysql» поддерживает постоянные соединения, но они были отключены в новом расширении «mysqli» - Peter Zaitsev
blockquote>
Я считаю, что (как правило) лучшая архитектура - это просто простейшая архитектура, которая удовлетворяет всем требованиям.
Я сразу вижу два варианта:
Некоторые люди могут возразить, что написание службы более гибкое и, следовательно, лучший архитектор, однако это также более сложный дизайн - например:
Возможно, определенные требования (например, устойчивость или что-то в этом роде) означают, что простое консольное приложение не удовлетворяет всем требованиям, и в этом случае вы вынужден использовать более сложное решение, однако, если вам это удастся, я бы выбрал консольное приложение.
Я согласен с идеей всегда писать наименее сложное приложение, удовлетворяющее требованиям. В этом случае похоже, что планировщик задач для запуска консольного приложения был бы идеальным. Я также предлагаю вам использовать разработку через тестирование и log4net для ведения журнала.