Php MySQL在表中的指定位置后插入记录
考虑一个mysql表Php MySQL在表中的指定位置后插入记录,php,mysql,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 | c
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
id | name | content |标志
------------------------------
1 |名称1 |内容1 | 0
2 |名称2 |内容2 | 1
5 | new | newc | 1关系数据库没有行顺序的概念。如果您关心查询中打印结果的顺序,则必须使用order BY
子句根据查询数据指定顺序。您必须删除要插入的记录之后的记录。无法按指定顺序输入数据。但是,对于查询表,您可以使用orderby。您可以在位置之后更新每个id,在这种情况下,使新条目的id为3。我可以知道这样做的目的吗?最好是添加order
列,以便根据需要对结果集进行排序。如果您有自动递增的主键,我想“id”在您的示例中。因此,您不能在特定行之前和之后插入数据。但是如果是显示,您需要按照您想要的方式进行排序,您可以使用ORDERBY子句对表列进行排序。我正在创建论坛。。。所以考虑<代码> NAME3/COD>张贴一些东西。name3
的回复将存储在name3
之前,记录为new
。在以相反的顺序显示表中的所有内容时,我可以使用mysql\u fetch\u array()
显示相应的post和reply。您有三个实体用户、post和REPLES,因此我认为您应该仅根据它们创建数据库表。创建数据库表时,只需遵循“保持简单”的概念。