在表格中间插入新记录

时间:2012-10-13 23:20:21

标签: mysql insert

我想在表格中间插入一个新行。我正在使用MySql。我怎么能这样做?

我的表中有以下记录:

ZipCode  CityName 

60101,   Addison
60004,   Arlington Heights
60502,   Aurora
62223,   Belleville 
61008,   Belvidere
60105,   Bensenville
60402,   Berwyn
60108,   Bloomingdal
61701,   Bloomington

我想插入一条新记录,但不是在表的末尾。

例如我想插入:

60103, Bartlett

在第三条记录之后,所以决赛桌应如下:

60101,   Addison
60004,   Arlington Heights
60502,   Aurora
60103,   Bartlett
62223,   Belleville 
61008,   Belvidere
60105,   Bensenville
60402,   Berwyn
60108,   Bloomingdal
61701,   Bloomington.

任何建议都会对我有所帮助。先感谢您!

3 个答案:

答案 0 :(得分:5)

记录的顺序取决于SELECT语句中的ORDER BY子句。

如果你没有指定ORDER BY,那么RDBMS(MySQL,Oracle,...)可以选择它喜欢的任何顺序。

所以只需插入您的记录,如果您发出

SELECT * from MY_TABLE
ORDER BY CityName 

您将获得所需的结果。

答案 1 :(得分:2)

在该特定点,您不需要INSERT。您需要做的只是INSERT记录,然后使用ORDER BY对数据进行排序:

INSERT INTO yourtable (ZipCode, CityName)
VALUES (60103, 'Bartlett')

然后

SELECT ZipCode, CityName
FROM yourtable
ORDER BY CityName

答案 2 :(得分:1)

实际上,您无法通过指定记录位置来插入表格。但您可以使用订单和other select statement来显示您的数据。尝试:

INSERT INTO Yourtable (ZipCode,CityName) VALUES ('60103', 'Bartlett');

然后:

SELECT ZipCode,CityName FROM yourTable ORDER BY CityName ASC;