2009-09-11 4 views
7

Я использую MySQL, у меня есть таблица с 9 столбцами. Одним из них является первичный ключ.Выбор одной строки в MySQL

Как выбрать одну строку с помощью первичного ключа или столбца 8 или 4?

+0

выберите одну строку: 'select * from yourtable limit 1;' –

ответ

18

Если я правильно понимаю ваш вопрос:

SELECT * FROM tbl WHERE id = 123 OR colname4 = 'x' OR colname8 = 'y' LIMIT 1 

'LIMIT' keyword делает, что есть только одна строка, возвращаемая.

+0

Это поможет мне дальше по дороге, спасибо! – aggitan

+0

Однако «MySQL не поддерживает LIMIT в подзапросах для определенных подзапросов». См. [Ограничения по подзапросам] (https://dev.mysql.com/doc/refman/5.5/ru/subquery-restrictions.html). –

0

Столбцы в SQL не имеют определенного «порядка». Системы баз данных обычно отслеживают заказ для целей показа, но нет смысла запрашивать базу данных для выбора столбца по номеру. Вам нужно знать имя столбца, чтобы запросить его содержимое.

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

Если вы не знаете, эти вещи, или нужно понять их динамически, то

DESCRIBE tablename; 

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

Смежные вопросы