Php 更新选择查询?
我想更新表中的一行Php 更新选择查询?,php,mysql,Php,Mysql,我想更新表中的一行 UPDATE content SET title = $title, content = $content, email = ??? 电子邮件是问题所在,我有用户表中电子邮件地址的ID,但没有地址,我想插入地址 如何在同一更新查询中从users表中获取电子邮件地址 用户: id|email 1 johnsmith@gmail.com 以下是我的查询如何查找插入: INSERT INTO content (title, content, email) SELECT $ti
UPDATE content SET title = $title, content = $content, email = ???
电子邮件是问题所在,我有用户表中电子邮件地址的ID,但没有地址,我想插入地址
如何在同一更新查询中从users表中获取电子邮件地址
用户:
id|email
1 johnsmith@gmail.com
以下是我的查询如何查找插入:
INSERT INTO content (title, content, email) SELECT $title, $content, email FROM users WHERE id = $id.
请注意,我知道VAR需要转义/安全等,上面张贴了一个明确的例子。只需像这样使用
UPDATE content SET title = $title, content = $content,
email = (SELECT email FROM users WHERE id = $id)
就这样用,
UPDATE content SET title = $title, content = $content,
email = (SELECT email FROM users WHERE id = $id)
为什么要复制内容表中的数据?只需使用加入即可获得显示的电子邮件地址:
SELECT c.title, c.content, c.author, u.email
FROM content c
LEFT JOIN users u
ON c.author = u.id
WHERE c.id = 1
为什么要复制内容表中的数据?只需使用加入即可获得显示的电子邮件地址:
SELECT c.title, c.content, c.author, u.email
FROM content c
LEFT JOIN users u
ON c.author = u.id
WHERE c.id = 1
您如何知道要使用哪些用户记录 假设内容表中有一个user_id字段,那么可以在更新时进行连接
UPDATE content INNER JOIN users ON content.user_id = users.id
SET content.title = $title,
content.content = $content,
content.email = users.email
您如何知道要使用哪些用户记录 假设内容表中有一个user_id字段,那么可以在更新时进行连接
UPDATE content INNER JOIN users ON content.user_id = users.id
SET content.title = $title,
content.content = $content,
content.email = users.email
你必须加入。btw SELECT
$title
?btw SELECT$title-是的,这就是方法。你的意思是'$title'
?你的意思是'$title'-如上所述:我知道VAR需要转义/安全性等,上面发布了一个明确的示例。我不是在谈论转义/安全性。您必须告诉SQL引擎这是一个字符串,您必须进行连接。btw SELECT$title
?btw SELECT$title-是的,这就是方法。你的意思是'$title'
?你的意思是'$title'-如上所述:我知道VAR需要转义/安全性等,上面发布了一个明确的示例。我不是在谈论转义/安全性。你必须告诉SQL引擎这是一个字符串。我不想显示电子邮件地址。好吧,你不需要显示它本身,最好使用联接来检索现有的电子邮件地址,而不是在另一个表中复制它。如果用户更新他们的电子邮件地址,现在需要更新的字段有2个,而不是1我不想显示电子邮件地址。好吧,你不需要显示它本身,最好使用联接检索现有的电子邮件地址,而不是在另一个表中复制它。如果用户更新了他们的电子邮件地址,现在有2个字段需要更新,而不是1个