mysql - HQL 自动增量 INSERT - SELECT:“操作数应包含 1 列”
问题描述
我想问一下。我正在使用休眠
how-to-write-hql-insert-query 因为休眠不能使用插入-值,我应该使用插入-选择。但我不知道如何设置自动增量值。
我尝试从 SQL AUTO INCREMENT 字段创建新数据库
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 列
解决方案
an 的 select 子句INSERT INTO ... SELECT
不应放在括号中:
INSERT INTO Persons (Personid, LastName, FirstName, Age)
SELECT '2', 'Morgen', 'Lars', '12';
虽然您的问题与拼写错误有关,但这是可以理解的,因为INSERT
with values 子句确实使用了元组:
INSERT INTO Persons (Personid, LastName, FirstName, Age)
VALUES
('2', 'Morgen', 'Lars', '12');