2011-12-13 61 views
1

在我items表我得到了以下記錄:插入新記錄exsiting結果後

shop_vnum item_vnum count 
4   13209  1 
4   11229  1 

然後,我要插入一個新的記錄後item_vnum13209所以它看起來像:

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

這可能嗎?

+0

不,不可能。 – EmCo

+0

@EmCo你讓我開心:S。 – Cyclone

+0

但是你可以用正常的方式插入它,當你查詢數據庫時,你可以用'item_vnum'命令結果。這可能有幫助。 – EmCo

回答

1

如果您使用的是InnoDB表和item_vnum是主鍵,InnoDB的實際上將「物理」的item_vnum安排以升序行(這裏採用一種叫聚集索引)。

但是,它看起來像你想它被按降序排列,所以我能想到的下一個最好的方法是創建一個視圖:

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」的視圖應該像表格一樣工作,並反映當您向「項目」表格中插入內容時要查找的內容。

但是,最好的答案可能是:您不必擔心它們是如何插入的。你只需要擔心他們以後如何用你的select語句檢索它們。請確保在選擇語句的末尾使用「ORDER BY item_vnum desc」。

+0

DUN嘗試使用ORDER BY - 看到這個: - http://stackoverflow.com/questions/8488588/mysql-default-order-depends-on-where – ajreal

0

就這樣

insert into items (shop_vnum, item_vnum, `count`) 
values (4, 12400, 1); 
+0

Guy要求按照不在表格中的順序插入它們。這會讓DBengine覺得很方便。 –

+2

如果你明白了,我會責備你 – ajreal

+0

好像需要上面的一排在沒有排序的情況下排在第二位,這就是'很難很難 –

相關問題