Mysql 将VARCHAR强制转换为INT加加法?

Mysql 将VARCHAR强制转换为INT加加法?,mysql,Mysql,我有一张三列的桌子 位置(varchar) 类别(国际) 条形码(int) 我希望更新该表,以便条形码=位置(作为int)+2406,其中类别=12,varchar>1或1 和铸造(位置为int)

我有一张三列的桌子

位置(varchar) 类别(国际) 条形码(int)

我希望更新该表,以便条形码=位置(作为int)+2406,其中类别=12,varchar>1或<96

我不确定语法是否正确,但到目前为止的实验表明,将varchar强制转换为未分配可能是正确的


任何指点都将不胜感激。

如果没有看到您当前的努力,很难给出建议,但这应该可以奏效

UPDATE MyTable SET
    barcode = CAST(location AS int) + 2406
    WHERE category = 12
        AND CAST(location AS int) > 1
        AND CAST(location AS int) < 96
更新MyTable集合
条形码=铸件(位置为int)+2406
其中类别=12
和转换(位置为int)>1
和铸造(位置为int)<96

也许位置不应该是varchar!无论如何,你很幸运,因为MySQL将添加到“数字”中的数字解释为数字。非常感谢你的回复。最初我无法让您的解决方案工作,因此我使用了“AS UNSIGNED”而不是“AS INT”,这非常有效。