即使使用自动提交集,MySQL也不会提交更改

时间:2017-10-07 13:32:54

标签: mysql sql

我有以下语法,我对日期顺序进行了排序,我的默认设置是自动提交,但是当我重新打开表时它没有再次排序,是否还有一些其他语法我应该写到下面以使其永久化?

由于

SELECT *
FROM stock_price.spy1996
ORDER BY Date ASC;

1 个答案:

答案 0 :(得分:1)

您误解了SQL中的几个非常重要的概念。

首先,(通常)通过UPDATEINSERTDELETE进行数据库更改。这些是已提交的更改。

其次,SELECT不会更改数据库。

第三,SQL表代表无序集。如果您希望查询的结果按特定顺序排列,则必须使用ORDER BY子句。

如果您愿意,可以实现自动执行此操作的视图:

CREATE VIEW v_spy_1996 as
    SELECT *
    FROM stock_price.spy1996
    ORDER BY Date ASC;

然后,当您从视图中查询时,您不必重复ORDER BY