SQL - 如何查找索引

时间:2010-09-15 06:22:53

标签: mysql

我正在使用MySQL 5.0。

我的表格包含以下结构和数据。

CREATE TABLE `test` 
(
      `text1` varchar(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

INSERT INTO `test` (`text1`) 
VALUES ('ABC'), ('PQR'), ('XYZ'), ('LMN');

我想显示以下输出:

Index     Text
1         ABC
2         LMN
3         PQR
4         XYZ

在表结构中,我不想创建任何新列。

如何编写SQL查询或存储过程来完成此任务?

提前致谢。

3 个答案:

答案 0 :(得分:1)

这不会回答你的问题,但你应该重新考虑你的要求。

没有索引。您可以为应用程序代码中的每一行打印一个数字,但该数字将毫无意义。如果表中没有实际索引字段,则无法确定每个数字的含义。例如,如果两个用户同时删除行“2”,则可以删除LMN和PQR。这是出乎意料和危险的。

如果您缺少ORDER BY子句,则每次执行查询时也不能保证以相同的顺序获取行。

答案 1 :(得分:0)

 select @rownum:=@rownum+1 Id, text1
 from test, (SELECT @rownum:=0) r 
 order by text

答案 2 :(得分:0)

SET @row=0;   
SELECT @row := @row + 1 AS Index, text1 as Text FROM test;