【问题标题】:HQL auto increment INSERT - SELECT : "Operand should contain 1 column(s)"HQL 自动增量 INSERT - SELECT:“操作数应包含 1 列”
【发布时间】:2020-11-10 17:25:17
【问题描述】:

我想问。我正在使用休眠

how-to-write-hql-insert-query 因为休眠不能使用插入-值,我应该使用插入-选择。但我不知道如何设置自动增量值。

我尝试从 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 列

【问题讨论】:

    标签: mysql hibernate select hql sql-insert


    【解决方案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');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-29
      • 2012-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多