MySQL在表中的指定位置之后插入记录

时间:2013-12-29 07:55:57

标签: php mysql

考虑一个mysql表,

id |  name  |  content | flag
------------------------------
1 |  name1  |  content1 | 0
2 |  name2  |  content2 | 1
3 |  name3  |  content3 | 0
4 |  name4  |  content4 | 0

我想在name3

之前插入新记录
5 |  new    |  newc     | 1 

结果应该是这样的,

id |  name  |  content | flag
------------------------------
1 |  name1  |  content1 | 0
2 |  name2  |  content2 | 1
5 |  new    |  newc     | 1  <---- new record
3 |  name3  |  content3 | 0
4 |  name4  |  content4 | 0

任何MySQL查询都可以吗?

P.S:我正在创建论坛...所以请考虑name3发布一些内容。 name3的回复将在name3记录为新之前存储。在以相反的顺序显示表格中的所有内容时,我可以显示相应的帖子并使用mysql_fetch_array()

回复

3 个答案:

答案 0 :(得分:2)

关系数据库没有行顺序的概念。如果您关心在查询中打印结果的顺序,则必须使用ORDER BY子句根据查询数据指定排序。

答案 1 :(得分:0)

您必须删除要插入的记录之后的记录。无法按指定顺序输入数据。但是,要查询表,可以使用orderby。

答案 2 :(得分:0)

您可能会更新您的位置后的每个ID,在这种情况下,新条目的ID为3。