这个 INSERT MAX+1 查询有什么问题?

What is wrong with this INSERT MAX+1 query?

我在查询时遇到问题:

INSERT INTO invoices(invuid, linenumber) VALUES (?, SELECT(SELECT max(linenumber)+1 FROM invoices WHERE invuid=?))

它一直在说:"General error: 1093 You can't specify target table 'invoices' for update"

您的语法无效,请使用 INSERT INTO ... SELECT 并删除 values 部分,如下所示:

INSERT INTO invoices(invuid, linenumber) 
SELECT ?, max(linenumber)+1 FROM invoices WHERE invuid=?