将MYSQL查询的1列设置为Null
我有下面的MYSQL查询,当执行该查询时,它会显示表将MYSQL查询的1列设置为Null,sql,mysql,Sql,Mysql,我有下面的MYSQL查询,当执行该查询时,它会显示表Order\u Info中所有无效的Comment\u IDs,这些在Order\u Comments表中不存在。如何修改此查询以将找到的每个记录的注释\u ID值设置为NULL SELECT Order_Info.* FROM Order_Info LEFT JOIN Order_Comments ON Order_Info.COMMENT_ID = Order_Comments.Comment_ID WHERE
Order\u Info
中所有无效的Comment\u ID
s,这些在Order\u Comments
表中不存在。如何修改此查询以将找到的每个记录的注释\u ID
值设置为NULL
SELECT Order_Info.*
FROM Order_Info
LEFT JOIN Order_Comments ON Order_Info.COMMENT_ID = Order_Comments.Comment_ID
WHERE Order_Comments.Comment_ID IS NULL
AND Order_Info.COMMENT_ID IS NOT NULL
订单注释表如下所示:
Comment_ID Order_Number Order_Comments
14 8989 Submitted by Gordon, Customer Se...
15 4544 Please include the cd when the b...
17 8787 Previously ordered by company, a...
23 8789 We downloaded the trial. Our is q...
我的解决方案更像是一种变通办法
因此,也许不是理想的解决方案,但它起了作用。我的解决方案更像是一种变通方法
因此,可能不是理想的解决方案,但它起了作用。您可以使用where子句中使用的相关子查询编写update语句
UPDATE Order_Info oi
SET comment_ID = NULL
WHERE NOT EXISTS (
SELECT *
FROM Order_Comments oc
WHERE oc.comment_ID = oi.comment_ID)
简单英语:在OrderInfo中,当OrderComments中没有与此行(commentID)匹配的条目时,将commentID设置为null
语句应该是标准SQL,而不是特定于mySQL。您可以使用where子句中使用的相关子查询编写update语句
UPDATE Order_Info oi
SET comment_ID = NULL
WHERE NOT EXISTS (
SELECT *
FROM Order_Comments oc
WHERE oc.comment_ID = oi.comment_ID)
简单英语:在OrderInfo中,当OrderComments中没有与此行(commentID)匹配的条目时,将commentID设置为null
该语句应该是标准SQL,而不是特定于mySQL。工作起来很有魅力!非常感谢。我在另一张类似情况的桌子上再次验证了这一点。再次感谢你!工作得很有魅力!非常感谢。我在另一张类似情况的桌子上再次验证了这一点。再次感谢你!