我试图摆脱所有的NULL值,并用查询结果中的列dimension_prefix中的=符号替换它们。我不断收到SYNTAX错误,但我无法弄清楚我错在哪里。任何帮助深表感谢。感谢
我正在接受
错误#1064 - 您的SQL语法出错;检查>对应于您的MySQL服务器版本的手册,以便在' IN(> SELECT
dimension_prefix
,length
,width
,{{1}附近使用正确的语法},ovd。height
,p。产品_i' at>第1行
name
答案 0 :(得分:1)
Actually you are trying is null in .. which is giving you the syntax error.
UPDATE oc_product_option_value_dimension SET dimension_prefix = '='
WHERE coalesce(dimension_prefix,"@@") = (
SELECT coalesce(`dimension_prefix`,"@@")
FROM ( SELECT product_id FROM `oc_product` ORDER BY product_id ASC) AS p
LEFT JOIN `oc_product_option_value` pov ON pov.product_id=p.product_id
LEFT JOIN `oc_product_option_value_dimension` povd ON povd.product_option_value_id=pov.product_option_value_id
LEFT JOIN `oc_option_value_description` ovd ON ovd.option_value_id=pov.option_value_id
LEFT JOIN `oc_option_description` od ON od.option_id=ovd.option_id
WHERE ovd.`name` regexp '^[0-9]+')