HQL 自动递增 INSERT - SELECT : "Operand should contain 1 column(s)"

HQL auto increment INSERT - SELECT : "Operand should contain 1 column(s)"

我想问一下。我正在使用 Hibernate

因为 hibernate 不能使用 insert - 值,我应该使用 insert - select。但我不知道如何设置自动增量值。

我尝试从 SQL AUTO INCREMENT Field

CREATE TABLE Persons (
Personid AUTOINCREMENT PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int

);

我尝试输入这样的代码,但显示错误

mysql> insert into Persons (Personid,LastName,FirstName,Age)select ('2','Morgen','Lars','12');

mysql> insert into Persons (LastName,FirstName,Age)select ('Morgen','Lars','12');

错误 1241 (21000):操作数应包含 1 列

INSERT INTO ... SELECT 的 select 子句不应放在括号中:

INSERT INTO Persons (Personid, LastName, FirstName, Age)
SELECT '2', 'Morgen', 'Lars', '12';

虽然您的问题接近打字错误,但这是可以理解的,因为 INSERT 带有值子句 使用元组:

INSERT INTO Persons (Personid, LastName, FirstName, Age)
VALUES
    ('2', 'Morgen', 'Lars', '12');