Mysql 如何获取MariaDB的当前值?

Mysql 如何获取MariaDB的当前值?,mysql,mariadb,Mysql,Mariadb,我想获取当前值,即ID号。 对于我的表,ID有Auto_increment选项,我想获取ID值。 在Oracle中,它是这样的: INSERT INTO mvc_board(bName, bTitle, bContent, bHit, bGroup, bStep, bIndent) VALUES('abcd', 'is title', 'is content', 0, mvc_board_seq.currval, 0, 0); 但是,我使用的是MariaDB,因此我使用了以下查询:

我想获取当前值,即ID号。 对于我的表,ID有Auto_increment选项,我想获取ID值。 在Oracle中,它是这样的:

    INSERT INTO mvc_board(bName, bTitle, bContent, bHit, bGroup, bStep,
bIndent) 
VALUES('abcd', 'is title', 'is content', 0, mvc_board_seq.currval, 0, 0);
但是,我使用的是MariaDB,因此我使用了以下查询:

INSERT INTO mvc_board (bName, bTitle, bContent, bHit, bGroup, bStep, bIndent)
VALUES ('pat', 'is title', 'is content', 0, SELECT MAX(bId) FROM mvc_board, 0, 0);

但是,这有语法错误。如何修复它?

这将使用mysql会话变量。首先将max id存储在@last\u insert\u id中,然后在查询中使用它。希望能有所帮助

INSERT INTO mvc_board (bName, bTitle, bContent, bHit, bGroup, bStep, bIndent)
SELECT 'pat', 'is title', 'is content', 0, MAX(bId), 0, 0 FROM mvc_board
SET @last_insert_id := 0;

SELECT @last_insert_id := MAX(bId) FROM mvc_board;


INSERT INTO mvc_board (bName, bTitle, bContent, bHit, bGroup, bStep, bIndent)
VALUES ('pat', 'is title', 'is content', 0, @last_insert_id, 0, 0);

下一个自动增量值在信息模式中可用:

INSERT INTO mvc_board (bName, bTitle, bContent, bHit, bGroup, bStep, bIndent)
SELECT 'pat', 'is title', 'is content', 0, AUTO_INCREMENT, 0, 0 
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = database() AND TABLE_NAME = 'mvc_board';