【发布时间】:2019-10-14 22:50:17
【问题描述】:
我想从另一个不完整的表中插入数据,所以某些值必须在 NOT NULL 字段中为空。
例如,我有两个表:people 和 peopleTemp。
在 people 表中,我有很多字段:permit_number、first_name、last_name 、gender、tel 等。在 peopleTemp 表中,我只有 permit_number 、first_name、last_name 和一个特殊字段 updated,在 UPDATE 查询之后设置。
现在我想插入他们在 people 中不存在的人。 Gender 和 tel 不为空,但必须为空。我试试:
INSERT INTO people p1 (gender, tel, permit_number, first_name, last_name)
VALUES ('','', (
SELECT permit_number, first_name, last_name
FROM peopleTemp p2
WHERE p2.updated = 0))
但我收到此错误:SQLSTATE[21000]: Cardinality violation: 1241 Operand should contain 1 column(s)
你能帮我解决这个问题吗?提前谢谢你!
附加问题:我可以在查询结束时SET p2.updated = 1 吗?
【问题讨论】: