在向列中添加更多文本之前,如果等于n/a,则从列中删除文本

6mw9ycah  于 2021-06-19  发布在  Mysql
关注(0)|答案(1)|浏览(284)

我有以下问题 UPDATE tblorders SET order_courier_notes = CONCAT(ifnull(order_courier_notes, ''),'$safenote') WHERE order_id = '$product_name'") 通过该查询,我将文本添加到一个已经包含文本的sql列中,例如,值为 Hello world 我将补充以下内容 how are you? 我专栏上的文字将是 Hello world how are you? 这一部分正在发挥作用。
我需要你帮我取下这个 N/A 该值是创建列时的默认值,默认情况下它会添加 N/A 我需要在查询中使用一种方法来检查列中的文本 order_courier_notesN/A ,删除文本并执行当前的代码。
希望你们能理解我的需求。

yqkkidmi

yqkkidmi1#

您的更新查询可能是

UPDATE tblorders
SET order_courier_notes = 
   CONCAT(
      IF(order_courier_notes IS NULL OR order_courier_notes='N/A','', order_courier_notes),
      :safenote
   )
WHERE order_id = :product_name

我假设“n/a”在列定义中,因此您可以使用:

ALTER TABLE tblorders MODIFY order_courier_nodes {existing column definition without default}

删除其中的默认值。

相关问题