MYSQL错误1241:操作数应该在insert语句中包含1列(没有选择)

时间:2016-12-02 14:44:50

标签: mysql sql database database-design

我正在使用MYSQL版本5.7,这是给我提出问题的表格:

CREATE TABLE Tenencia(
  fechaInicio DATE,
  numero INT,
  nif CHAR(10),
  fechaFinal DATE,
  PRIMARY KEY (fechaInicio,numero,nif),
  FOREIGN KEY (numero) REFERENCES Animal (numero)
    ON UPDATE CASCADE,
  FOREIGN KEY (nif) REFERENCES Propietario (nif)
    ON UPDATE CASCADE
 );

我试图在此表中简单地插入数据,如下所示:

INSERT INTO Tenencia (fechaInicio,numero,nif,fechaFinal) 
VALUES ('2012-06-10', 2, '1B', '2012-09-11');

但它返回了这个错误:

ERROR 1241 (21000): Operand should contain 1 column(s)

我在插入时使用SELECT之前或者尝试一次插入多行时,我已经看到过这个问题,但是我要逐个插入它们(它是一个类)分配和逐个插入是其中一项要求)。

Here's a link to the complete script,如果有必要的话。 在表定义中也有一个触发器。

请帮忙!

1 个答案:

答案 0 :(得分:0)

而不是( SELECT * ... )尝试EXISTS ( SELECT * ... )