2012-05-24 62 views
0

我想结合以下两个查询,任何人都可以给我一个想法如何做到这一点? (该INSERT查询应该运行仅当SELECT查询有一个结果)如何将SELECT + WHERE查询与INSERT查询结合使用?

查询没有1

INSERT IGNORE INTO senders(
sender_id, 
telephone, 
) 
VALUES (1, 0723355888) 

查询没有2

SELECT student_name 
FROM students 
WHERE student_id =1 
+0

为什么ü想如果u r不将其插入到 '发件人',选择 'student_name'? – Addicted

回答

2
INSERT INTO senders (sender_id, telephone) 
SELECT student_id, student_telephone FROM students 
WHERE student_id = 1 
LIMIT 1 

或如果telefone不是学生表的一部分,则很难c颂词: 这适用,因为如果查询0行,根本不执行插入。

INSERT INTO senders (sender_id, telephone) 
SELECT 1, 0723355888 FROM students 
WHERE student_id = 1 
LIMIT 1 
+0

感谢它的工作。 –

0

尝试使用此查询 -

INSERT IGNORE INTO senders (sender_id, telephone) 
SELECT student_id as sender_id, telephone 
FROM students 
WHERE student_id=1 
0

试试这个:

INSERT IGNORE INTO senders(sender_id, telephone) 
SELECT 1 as sender_id, 0723355888 as telephone 
FROM students WHERE student_id =1