MySQL - выбор последней вставленной строки проще всего

Мне просто нужно выбрать последнюю введенную строку, указанную условием, например:

SELECT ID from bugs WHERE user=Me

Мне нужно вернуть только самый последний идентификатор, введенный пользователем "Я". Есть ли простой способ сделать это? Спасибо.

Ответ 1

Было бы лучше иметь столбец TIMESTAMP, который по умолчанию равен CURRENT_TIMESTAMP.. это единственное истинное предсказательное поведение, которое вы можете найти здесь.

Вторая лучшая вещь, которую вы можете сделать, это ORDER BY ID DESC LIMIT 1 и надеюсь, что самый новый идентификатор - самое большое значение.

Ответ 2

SELECT MAX(ID) from bugs WHERE user=Me

Ответ 3

Вы можете использовать ORDER BY ID DESC, но это ПУТЬ быстрее, если вы пойдете по этому пути:

SELECT * FROM bugs WHERE ID = (SELECT MAX(ID) FROM bugs WHERE user = 'me')

Если у вас огромный стол, это может иметь существенное значение.

РЕДАКТИРОВАТЬ

Вы даже можете установить переменную, если она вам нужна более одного раза (или если вы считаете, что ее легче читать).

SELECT @bug_id := MAX(ID) FROM bugs WHERE user = 'me';
SELECT * FROM bugs WHERE ID = @bug_id;

Ответ 4

Один из способов добиться этого - заказать вам записи и ограничить 1. Например, если у вас есть следующая таблица ( "данные" ).

    id | user | price
   -------------------
    1  |  me  | 40.23
    2  |  me  | 10.23

Попробуйте выполнить следующий SQL-запрос

  select * from data where user='me' order by id desc limit 1

Ответ 5

В concurrency последней записью может быть не только запись, которую вы только что ввели. Лучше получить последнюю запись с использованием первичного ключа.

Если это поле автоматического приращения, используйте SELECT LAST_INSERT_ID();, чтобы получить только что созданный идентификатор.

Ответ 6

SELECT * FROM `table_name` 
ORDER BY `table_name`.`column_name` DESC
LIMIT 1 

Ответ 7

Сразу после запуска запроса MySQL от php

получить это по

$lastid=mysql_insert_id();

это даст вам значение идентификатора автоматического увеличения идентификатора

Ответ 8

Похоже, что есть аналогичная тема, на которую уже дан ответ. Может ли это быть решение, которое вы ищете?

Ответ 9

ВЫБЕРИТЕ ID из ошибок, ГДЕ пользователь = Я ЗАКАЗАТЬ CREATED_STAMP DESC; BY CREATED_STAMP DESC извлекает те данные по индексу, который был первым создан последним.

Я надеюсь, что это решит вашу проблему