祝您好运,SQL伙伴们!我正在努力在一个表中插入多个值,两个表都处于不同的架构。
INSERT INTO users.users (created_by, email, passwd)
VALUES (
(SELECT
customers.created_by,
customers.email,
'P455word'
FROM customers.customers
WHERE customers.tbl_id = (SELECT MAX(customers.tbl_id) FROM customers.customers)
)
);
我收到此错误:错误:子查询必须仅返回一列 有什么建议可以解决吗?
谢谢。
答案 0 :(得分:3)
请勿使用values
:
INSERT INTO users.users (created_by, email, passwd)
SELECT customers.created_by, customers.email, 'P455word'
FROM customers.customers
WHERE customers.tbl_id = (SELECT MAX(customers.tbl_id) FROM customers.customers);
假设您打算仅插入一行,则可以考虑:
INSERT INTO users.users (created_by, email, passwd)
SELECT c.created_by, c.email, 'P455word'
FROM c.customers
ORDER BY c.tbl_id DESC
LIMIT 1;