mysql - 在令人兴奋的结果后插入新记录

标签 mysql insert

在我的 items 表中,我得到了以下记录:

shop_vnum   item_vnum   count
4           13209       1
4           11229       1

然后,我想在 item_vnum 13209 之后插入一条新记录,这样它看起来像:

shop_vnum   item_vnum   count
4           13209       1
4           12400       1
4           11229       1

这可能吗?

最佳答案

如果您使用的是 InnoDB 表并且 item_vnum 是主键,InnoDB 实际上会“物理上”按 item_vnum 的升序排列行(这使用了一种称为聚簇索引的东西)。

但是,看起来您希望它按降序排列,所以我能想到的下一个最好的办法是创建一个 View :

http://net.tutsplus.com/tutorials/databases/introduction-to-mysql-views/

http://www.techotopia.com/index.php/An_Introduction_to_MySQL_Views

CREATE VIEW items_view AS SELECT * FROM items ORDER BY item_vnum DESC;

然后,名为“items_view”的 View 应该表现得像一个表,并在您向“items”表中插入内容时反射(reflect)您正在寻找的内容。

但是,最好的答案可能是:您无需担心它们是如何插入的。您只需要担心稍后如何使用 select 语句检索它们。请务必在选择语句的末尾使用“ORDER BY item_vnum desc”。

关于mysql - 在令人兴奋的结果后插入新记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8493326/

相关文章:

java - 如何使用 PreparedStatement 传递整数值列表

php - 无法通过使用 JSON 从 MySQL 读取数据来在 d3.js 中呈现简单图形

python - 在文本文件的指定位置插入行

php - 将数组数据插入 mysql 表的高效 php 代码?

mysql - 将两个 MySQL select 语句组合在一起

同一个表中的 MySQL 条件更新

performance - SQL 插入 100 万行时速度慢

c# - 为什么 MS Access 2007 不允许行插入,但在下一次插入尝试时允许它?

php - 如何将实际的 NULL 值插入到可为空的列中?

mysql - INSERT INTO 语法问题