MySQL:是否保证多次插入的顺序?

问题描述 投票:0回答:2

我想知道我是否做过这样的事情:

INSERT INTO 
    projects(name, start_date, end_date)
VALUES
    ('AI for Marketing','2019-08-01','2019-12-31'),
    ('ML for Sales','2019-05-15','2019-11-20');

到表中

CREATE TABLE projects(
    project_id INT AUTO_INCREMENT, 
    name VARCHAR(100) NOT NULL,
    start_date DATE,
    end_date DATE,
    PRIMARY KEY(project_id)
);

如果第二个条目project_id('ML for Sales','2019-05-15','2019-11-20')总是比第一个条目大(在另一个之后插入)?与ID是否为+1无关-只是a > b

所以当我执行SELECT project_id, name FROM projects ORDER BY project_id时,它将始终为:

-------------------------------------
| project_id | name                 |
|-----------------------------------|
| 1          | AI for Marketing     |
| 1 + x      | ML for Sales         |
-------------------------------------

示例摘自:https://www.mysqltutorial.org/mysql-insert-multiple-rows/

mysql
2个回答
0
投票

是,它保证a> b。

b至少不能在Mysql中的a之前插入。


0
投票

您可以查阅VALUES和AUTO_INCREMENT的文档

https://dev.mysql.com/doc/refman/8.0/en/values.html

https://dev.mysql.com/doc/refman/8.0/en/example-auto-increment.html

没有明确提及顺序,但是假设在任何现有语言上,数组元素的创建本质上是顺序的。

© www.soinside.com 2019 - 2024. All rights reserved.