我正在使用MySQL,我有一个包含9列的表。其中一个是主键。
如何通过主键或列8或4选择单行?
答案 0 :(得分:27)
如果我理解你的问题:
SELECT * FROM tbl WHERE id = 123 OR colname4 = 'x' OR colname8 = 'y' LIMIT 1
'LIMIT' keyword确保只返回一行。
答案 1 :(得分:3)
select *
from MyTable
where MyPrimaryKey = 123
答案 2 :(得分:1)
SQL中的列没有定义的“顺序”。数据库系统通常会跟踪订单以进行显示,但要求数据库按编号选择列是没有意义的。您需要知道列的名称才能查询其内容。
主键也是如此(顺便说一下,它可能不只是一个列)。为了执行查询,您必须知道它是哪一列,以及该列的名称。
如果你不了解这些事情,或者需要动态地解决这些问题,那么
DESCRIBE tablename;
将告诉您每列的名称,以及它是否是主键的一部分。它将返回一个您可以读取的表,就像任何其他结果一样。