MariaDB starting with 10.3
--------------------------
SEQUENCEs were introduced in MariaDB 10.3

Syntax
------

NEXT VALUE FOR sequence

or

NEXTVAL(sequence_name)

or in Oracle mode (SQL_MODE=ORACLE)

sequence_name.nextval

NEXT VALUE FOR is ANSI SQL syntax while NEXTVAL() is PostgreSQL syntax.

Description
-----------

Generate next value for a SEQUENCE.

* You can greatly speed up NEXT VALUE by creating the sequence with the CACHE
option. If not, every NEXT VALUE usage will cause changes in the stored
SEQUENCE table.
* When using NEXT VALUE the value will be reserved at once and will not be
reused, except if the SEQUENCE was created with CYCLE. This means that when
you are using SEQUENCEs you have to expect gaps in the generated sequence
numbers.
* If one updates the SEQUENCE with SETVAL() or ALTER SEQUENCE ... RESTART,
NEXT VALUE FOR will notice this and start from the next requested value.
* FLUSH TABLES will close the sequence and the next sequence number generated
will be according to what's stored in the SEQUENCE object. In effect, this
will discard the cached values.
* A server restart (or closing the current connection) also causes a drop of
all cached values. The cached sequence numbers are reserved only for the
current connection.
* NEXT VALUE requires the INSERT privilege.

MariaDB starting with 10.3.3
----------------------------
* You can also use NEXT VALUE FOR sequence for column DEFAULT.

URL: https://mariadb.com/kb/en/next-value-for-sequence_name/