MYSQL INSERT SELECT 问题

Posted

技术标签:

【中文标题】MYSQL INSERT SELECT 问题【英文标题】:MYSQL INSERT SELECT problem 【发布时间】:2010-11-26 05:14:06 【问题描述】:

我在理解如何执行一些 INSERT SELECT 方面有点困难。

例如我有两张桌子。

TABLE : users  

 id | name   | gender  
 1  | John   | m  
 2  | Mary   | f  

TABLE : website  

 fid | url             | id  
 1   | www.desilva.biz | 2  
 2   | gidhelp.com     | 4  

现在假设我想向表格网站添加另一个查询。我得到两个变量,可以说:

$user = John;
$site = "www.google.com";

我想从 users 表中选择 John 的 id 并在一个语句中将其插入 website 表中。

我该怎么做?

【问题讨论】:

【参考方案1】:

假设您的变量已经正确转义并且不受SQL 注入:

INSERT
INTO    website (url, fid)
SELECT  $site, id
FROM    users
WHERE   name = $user

【讨论】:

我会至少引用 $user 以便它正确匹配包含空格的名称。

以上是关于MYSQL INSERT SELECT 问题的主要内容,如果未能解决你的问题,请参考以下文章

MySQL INSERT INTO / ON DUPLICATE KEY 与 SELECT 语句问题

MySQL - 结合 INSERT、VALUES 和 SELECT?

具有多个嵌套 SELECT 的 MySQL INSERT

insert …select …带来的死锁问题

MySQL LAST_INSERT_ID() 与 INSERT INTO tablea SELECT FROM tableb

如何在MySQL中的INSERT语句中使用SELECT MAX?