2017-10-17 35 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排序可能更有效,而不是不断重新排序表。