Mysql 插入选择查询

Mysql 插入选择查询,mysql,sql,Mysql,Sql,我有2个表、文章和用户 我想在文章表中插入标题、内容和名称 我将用户id存储在会话中,是否有一种方法可以使用insert select查询将标题、内容和名称添加到文章表中,同时使用id从用户表中获取名称 比如: INSERT INTO article (title, content, name) VALUES ($post['title'], $post['content'], name) SELECT name FROM users WHERE id = mySessionId 使用插入..

我有2个表、文章和用户

我想在文章表中插入标题、内容和名称

我将用户id存储在会话中,是否有一种方法可以使用insert select查询将标题、内容和名称添加到文章表中,同时使用id从用户表中获取名称

比如:

INSERT INTO article (title, content, name) VALUES ($post['title'], $post['content'], name) SELECT name FROM users WHERE id = mySessionId

使用
插入..选择
语句

$title = $post['title'];
$content = $post['content'];
$insertStatement = "INSERT INTO article (title, content, name)  
                    SELECT '$title', '$content', name 
                    FROM users 
                    WHERE id = mySessionId";
作为旁注,如果变量的值来自外部,则查询易受攻击。请看下面的文章,了解如何预防它。通过使用
PreparedStatements
可以避免在值周围使用单引号


您的模式错误:您应该存储ID并使用
JOIN
获取名称。这是基本的规范化()或面部更新异常出于人性的考虑,请在将这些值放入数据库之前先转义这些值