我有两列的表meta_key和meta_value.它们varchar现在都是meta_key _pricemeta_value的数字,如10.0,20.0等.我试图将此值更新为更高的数字(价格增加百分比).我试图转换meta_value为整数,但它不起作用.
这是我正在尝试的:
update wp_postmeta set CAST(meta_value AS UNSIGNED)=meta_value+meta_value*(0.60) 
where meta_key='_price'
但它给出了这个错误:
SQL语法错误; 检查与您的MySQL服务器版本对应的手册,以便在'CAST(meta_value AS UNSIGNED)= CAST'附近使用正确的语法
我做错了什么?
UPDATE语句的左侧赋值部分指定要更新的列,而不是值.您应该CAST()在赋值操作的右侧使用.
UPDATE
    wp_postmeta
SET 
    meta_value = CAST(meta_value AS UNSIGNED) * 1.60 
WHERE
    meta_key = '_price';
手动报价:
UPDATE [LOW_PRIORITY] [IGNORE] table_reference
    SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ...
    [WHERE where_condition]
    [ORDER BY ...]
    [LIMIT row_count]
在SET子句指示要修改的列,应给予他们的价值观.
| 归档时间: | 
 | 
| 查看次数: | 1921 次 | 
| 最近记录: |