Мне просто нужно выбрать последнюю введенную строку, указанную условием, например:
SELECT ID from bugs WHERE user=Me
Мне нужно вернуть только самый последний идентификатор, введенный пользователем "Я". Есть ли простой способ сделать это? Спасибо.
Мне просто нужно выбрать последнюю введенную строку, указанную условием, например:
SELECT ID from bugs WHERE user=Me
Мне нужно вернуть только самый последний идентификатор, введенный пользователем "Я". Есть ли простой способ сделать это? Спасибо.
Было бы лучше иметь столбец TIMESTAMP, который по умолчанию равен CURRENT_TIMESTAMP.. это единственное истинное предсказательное поведение, которое вы можете найти здесь.
Вторая лучшая вещь, которую вы можете сделать, это ORDER BY ID DESC LIMIT 1 и надеюсь, что самый новый идентификатор - самое большое значение.
SELECT MAX(ID) from bugs WHERE user=Me
Вы можете использовать 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;
Один из способов добиться этого - заказать вам записи и ограничить 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
В concurrency последней записью может быть не только запись, которую вы только что ввели. Лучше получить последнюю запись с использованием первичного ключа.
Если это поле автоматического приращения, используйте SELECT LAST_INSERT_ID();, чтобы получить только что созданный идентификатор.
SELECT * FROM `table_name`
ORDER BY `table_name`.`column_name` DESC
LIMIT 1
Сразу после запуска запроса MySQL от php
получить это по
$lastid=mysql_insert_id();
это даст вам значение идентификатора автоматического увеличения идентификатора
Похоже, что есть аналогичная тема, на которую уже дан ответ. Может ли это быть решение, которое вы ищете?
ВЫБЕРИТЕ ID из ошибок, ГДЕ пользователь = Я ЗАКАЗАТЬ CREATED_STAMP DESC; BY CREATED_STAMP DESC извлекает те данные по индексу, который был первым создан последним.
Я надеюсь, что это решит вашу проблему