如何解决插入触发器错误 #1064 sql person_info 和 Total_bank
我想做一个查询,将其他表中的数据填充到另一个表中。
INSERT INTO `Total_bank` VALUES (
SELECT id,name FROM person_info WHERE name=
(SELECT name FROM person_info WHERE personid=
(SELECT MAX(personid) FROM person_info))
);
它给了我以下错误:
#1064 第 2 行
表person_info:
表 Total_bank:
解决方法
如果要在 person_info
中插入最大值为 personid
的行,请使用 ORDER BY
和 LIMIT
:
INSERT INTO Total_bank (id,name)
SELECT id,name
FROM person_info
ORDER BY personid DESC
LIMTI 1;
请注意,您应该列出要插入的列。
说了这么多。您问题的标题表明您正试图在触发器中执行此操作。 这是非常危险的代码。。我怀疑有更好的方法可以做任何你想做的事。您应该提出一个新问题,提供示例数据、所需的结果以及您想要做什么的清晰说明。然而,以上确实回答了您在此处提出的问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。