J'utilise MySQL, j'ai une table qui a 9 colonnes. L'un d'eux est la clé primaire.Sélection d'une seule ligne dans MySQL
Comment puis-je sélectionner une seule ligne, par la clé primaire ou la colonne 8 ou 4?
J'utilise MySQL, j'ai une table qui a 9 colonnes. L'un d'eux est la clé primaire.Sélection d'une seule ligne dans MySQL
Comment puis-je sélectionner une seule ligne, par la clé primaire ou la colonne 8 ou 4?
Si je comprends bien votre question:
SELECT * FROM tbl WHERE id = 123 OR colname4 = 'x' OR colname8 = 'y' LIMIT 1
Le 'LIMIT' keyword se assure qu'il n'y a qu'une seule ligne retournée.
Cela m'aidera plus tard sur la route, merci! – aggitan
Cependant, "MySQL ne supporte pas LIMIT dans les sous-requêtes pour certains opérateurs de sous-requêtes". Reportez-vous à [Restrictions sur les sous-requêtes] (https://dev.mysql.com/doc/refman/5.5/fr/subquery-restrictions.html). –
Les colonnes SQL n'ont pas d''ordre' défini. Les systèmes de base de données gardent généralement la trace d'une commande à des fins d'affichage, mais cela n'a aucun sens de demander à une base de données de sélectionner une colonne par numéro. Vous devez connaître le nom de la colonne pour pouvoir interroger son contenu.
La même chose vaut pour la clé primaire (qui, incidemment, peut ne pas être une seule colonne). Vous devez savoir de quelle colonne il s'agit et de quelle colonne il est nommé, afin d'exécuter une requête.
Si vous ne connaissez pas ces choses, ou besoin de les comprendre de façon dynamique, puis
DESCRIBE tablename;
vous dira les noms de chaque colonne, et si elle fait partie de la clé primaire ou non. Il retournera une table que vous pouvez lire, comme n'importe quel autre résultat.
sélectionnez une seule ligne: 'select * from yourtable limit 1;' –