Перейти к содержимому

Как получить последнюю строку mysql

  • автор:

Вывод последней строки mysql таблицы на страницу сайта?

Здравствуйте, мне необходимо вывести последнюю строку из таблицы tbl1, базы данных mysql (название: sensor), на страницу веб-сайта.
Таблица имеет следующие столбцы: id, temp, vlaj, datetime.
Подскажите, пожалуйста, что можно использовать, какие команды, функции, либо где об этом можно почитать, хотя бы от чего оттолкнуться. В mysql и php полный ноль. Буду очень благодарен ваше помощи, за ранее спасибо.
p.s. если это возможно, то было бы не плохо если бы Вы помогли написать полную структуру этого кода.

  • Вопрос задан более трёх лет назад
  • 5388 просмотров

Комментировать

Решения вопроса 1

Краткий алгоритм такой.
1. Подключиться к базе (также можно работать с MySQL через PDO или расширение mysql (считается устаревшим и убрано в php7))
2. Сделать запрос
SELECT * FROM tbl1 ORDER BY id DESC LIMIT 1
www.mysql.ru/docs/man/SELECT.html
3. Считать результат из того, что вернет п.2
4. Вывести результат на страницу.

Ответ написан более трёх лет назад

Комментировать

Нравится 2 Комментировать

Ответы на вопрос 1

SELECT * FROM tbl1 ORDER BY id DESC LIMIT 1

Ответ написан более трёх лет назад

Комментировать

Нравится 4 Комментировать

Ваш ответ на вопрос

Войдите, чтобы написать ответ

wordpress

  • WordPress
  • +1 ещё

Как вывести текст перед рейтингом на WordPress?

  • 1 подписчик
  • только что
  • 1 просмотр

Как выбрать последнюю строку из базы данных?

Вот есть 2 строки из базы данных. Мне нужно выбрать последнюю из них (использую python 3.7.6, Windows 10). Как мне правильно исправить мой SQL-запрос? То есть должно быть что-то вроде: — Выбрать последнюю строку из двух найденных одинаковых (нужно опираться не на id, а на последнюю строку из найденного результата!) SELECT ‘Где-то здесь должно быть условие, по которому выберется последняя строка’adress FROM orders WHERE user_id =’245′ LIMIT 1’

Отслеживать

13.7k 12 12 золотых знаков 43 43 серебряных знака 75 75 бронзовых знаков

задан 9 фев 2020 в 18:18

909 2 2 золотых знака 6 6 серебряных знаков 24 24 бронзовых знака

9 фев 2020 в 18:23

@AlexanderChernin, там конкретно говорится об уникальном идентификаторе. А если, предположим у меня не было столбца id. Как выйти из данного положения?) (Знаю, что в реальных БД всгеда есть инкрементация)

9 фев 2020 в 18:29

добавить его в таблицу и, тем самым, не придумывать себе лишних проблем)

Как получить ID последней обновленной строки в MySQL

Как получить идентификатор последней обновленной строки в MySQL с помощью PHP?

Ответ 1

Вот ответ на эту проблему 🙂

SET @update_id := 0;

UPDATE some_table SET column_name = ‘value’, @update_id := id)

WHERE some_other_column = ‘ blah’ LIMIT 1;

SELECT @update_id;

Этот метод может быть дополнительно расширен для получения идентификатора каждой строки, затронутой оператором обновления:

SET @uids := null;

UPDATE footable

SET foo = ‘bar’

WHERE fooid > 5

AND ( SELECT @uids := CONCAT_WS(‘,’, fooid, @uids) );

SELECT @uids;

Это код вернет строку со всеми идентификаторами.

Ответ 2

Предположим, что item_id – это столбец целочисленного идентификатора в таблице item s , и вы обновляете строки с помощью следующего оператора:

UPDATE items

SET qwe = ‘qwe’

WHERE asd = ‘asd’;

Затем, чтобы узнать последнюю затронутую строку сразу после оператора, вам следует немного обновить оператор следующим образом:

UPDATE items

SET qwe = ‘qwe’,

item_id=LAST_INSERT_ID(item_id)

WHERE asd = ‘asd’;

SELECT LAST_INSERT_ID();

Если вам нужно обновить только действительно измененную строку, вам нужно будет добавить условное обновление item_id с помощью LAST_INSERT_ID, который проверяет, будут ли данные изменяться в этой строке.

Ответ 3

Действительно это просто, но на удивление нелогично. Если вы поступите следующим образом:

update users set status = ‘processing’ where status = ‘ pending’

limit 1 ,

измените этот код на этот:

update users set status = ‘processing’ where status = ‘pending’

and last_insert_id(user_id)

limit 1

Добавление last_insert_id(user_id) в предложение where указывает MySQL установить для своей внутренней переменной идентификатор найденной строки. Когда вы передаете значение, last_insert_id(expr), подобное этому, оно в конечном итоге возвращает это значение, которое в случае таких идентификаторов, как здесь, всегда является положительным целым числом и, следовательно, всегда оценивается как истинное, никогда не противореча предложению where. Это работает только в том случае, если какая-то строка действительно была найдена, поэтому не забудьте проверить затронутые строки. Затем вы можете получить идентификатор несколькими способами.

MySQL last_insert_id()

Вы можете генерировать последовательности без вызова LAST_INSERT_ID(), но полезность использования функции таким образом заключается в том, что значение идентификатора сохраняется на сервере как последнее автоматически сгенерированное значение. Это безопасно для многих пользователей, потому что несколько клиентов могут выполнить оператор UPDATE и получить собственное значение последовательности с помощью оператора SELECT (или mysql_insert_id()), не затрагивая и не подвергаясь влиянию других клиентов, которые генерируют свои собственные значения последовательности.

MySQL mysql_insert_id()

Также этот оператор возвращает значение, созданное для столбца AUTO_INCREMENT предыдущим оператором INSERT или UPDATE. Используйте эту функцию после того, как вы выполнили оператор INSERT в таблице, содержащей поле AUTO_INCREMENT, или при использовании INSERT или UPDATE для установки значения столбца с LAST_INSERT_ID (expr).

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

PHP mysqli_insert_id()

Выполнение оператора INSERT или UPDATE с использованием функции LAST_INSERT_ID () также изменит значение, возвращаемое функцией mysqli_insert_id().

Итого:

$affected_rows = DB::getAffectedRows(«

update users set status = ‘processing’

where status = ‘pending’ and last_insert_id(user_id)

limit 1″

);

if ($affected_rows)

$user_id = DB::getInsertId();

>

Ответ 4

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

ALTER TABLE mytable

ADD lastmodified TIMESTAMP

DEFAULT CURRENT_TIMESTAMP

ON UPDATE CURRENT_TIMESTAMP;

Затем, чтобы узнать последнюю обновленную строку, вы можете использовать этот код.

SELECT id FROM mytable ORDER BY lastmodified DESC LIMIT 1;

Ответ 5

Запрос :

$sqlQuery font-size: 14px; color: #1a0e95; display: table-row-group;» dir=»ltr»> update_table

SET

set_name = ‘value’

WHERE

where_name = ‘name’

LIMIT 1;»;

Функция PHP:

function updateAndGetId($sqlQuery)

mysql_query(str_replace(«SET», «SET $sqlQuery));

return mysql_insert_id();

>

Мы будем очень благодарны

если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.

Как получить последнюю строку sql

Чтобы получить последнюю строку в таблице, можно воспользоваться следующей командой:

Есть что добавить? Зарегистрируйтесь

Курсы по программированию на Хекслете

Backend-разработка

Разработка серверной части сайтов и веб-приложений

Frontend-разработка

Разработка внешнего интерфейса сайтов и веб-приложений и верстка

Создание сайтов

Разработка сайтов и веб-приложений на JS, Python, Java, PHP и Ruby on Rails

Тестирование

Ручное тестирование и автоматизированное тестирование на JS, Python, Java и PHP

Аналитика данных

Сбор, анализ и интерпретация данных на Python

Интенсивные курсы

Интенсивное обучение для продолжающих

DevOps

Автоматизация настройки локального окружения и серверов, развертывания и деплоя

Веб-разработка

Разработка, верстка и деплой сайтов и веб-приложений, трудоустройство для разработчиков

Математика для программистов

Обучение разделам математики, которые будут полезны при изучении программирования

JavaScript

Разработка сайтов и веб-приложений и автоматизированное тестирование на JS

Python

Веб-разработка, автоматическое тестирование и аналитика данных на Python

Java

Веб-разработка и автоматическое тестирование на Java

PHP

Веб-разработка и автоматическое тестирование на PHP

Ruby

Разработка сайтов и веб-приложений на Ruby on Rails

Go

Курсы по веб-разработке на языке Go

HTML

Современная верстка с помощью HTML и CSS

SQL

Проектирование базы данных, выполнение SQL-запросов и изучение реляционных СУБД

Git

Система управления версиями Git, регулярные выражения и основы командой строки

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

26 октября 2021

26 октября 2021

26 октября 2021

26 октября 2021

  • 8 800 100 22 47 бесплатно по РФ
  • +7 495 085 28 38 бесплатно по Москве

Направления

  • Курсы «Backend-разработка»
  • Курсы «Frontend-разработка»
  • Курсы «Создание сайтов»
  • Курсы «Тестирование»
  • Курсы «Аналитика данных»
  • Интенсивные курсы
  • Курсы DevOps
  • Курсы «Веб-разработка»
  • Курсы «Математика для программистов»
  • Все курсы

О Хекслете

  • О нас
  • Карьера в Хекслете
  • Хекслет Колледж

ООО «Хекслет Рус» 432071, г. Ульяновск, пр-т Нариманова, дом 1Г, оф. 23 ОГРН 1217300010476

  • Справка
  • Вопросы и ответы
  • Сообщество
  • Дополнительно
  • Условия использования
  • Соглашение об обработке ПД
  • Оферта
  • Акции

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *