2017-10-17 49 views
0

如何在插入行後對錶進行排序?Mysql PHP - 插入行後排序表

我嘗試下面的代碼,但我得到一個錯誤:

$sql = "INSERT INTO vendors (vendor, pavcode, pavname) VALUES (?, ?, ?) ORDER 
BY vendor ASC"; 

感謝您的幫助。

編輯:我得到一個語法錯誤如下:

ERROR: Could not prepare query: INSERT INTO vendors (vendor, pavcode, pavname) VALUES (?, ?, ?) ORDER BY (vendor) ASC. You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'ORDER BY (vendor) ASC' at line 1

+0

https://dev.mysql.com/doc/refman/5.7/zh/order-by-optimization.html –

回答

1

使用SELECT時,您可以使用臨時排序。

SELECT * 
FROM vendors 
ORDER BY vendor ASC 

您也可以ALTER順序永久使用:

ALTER TABLE vendor ORDER BY vendor 

你會需要你插入後運行ALTER再宣稱永久的排序,因爲它沒有行更改後保存。使用索引以及SELECT排序可能更有效,而不是不斷重新排序表。