[英]UPDATE SELECT query?
我想更新表格中的一行。
UPDATE content SET title = $title, content = $content, email = ???
電子郵件是問題,我有用戶表中電子郵件地址的ID,但沒有地址,我想插入地址。
如何在同一UPDATE查詢中從用戶表中獲取電子郵件地址?
使用者:
id|email
1 johnsmith@gmail.com
這是我的查詢查找插入內容的方式:
INSERT INTO content (title, content, email) SELECT $title, $content, email FROM users WHERE id = $id.
請注意,我知道vars需要轉義/安全性等內容,上面發布了一個清晰的示例。
像這樣簡單地使用
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
您如何知道要使用哪些用戶記錄?
假設您在內容表中有一個user_id字段,則可以在UPDATE上執行JOIN
UPDATE content INNER JOIN users ON content.user_id = users.id
SET content.title = $title,
content.content = $content,
content.email = users.email
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.