无法在mysql中更新int类型列

时间:2012-03-09 15:32:52

标签: mysql int

这个mysql查询有什么问题?

UPDATE答案SET 23 = 2 WHERE user_id ='1';

我正在尝试更新int(2)字段,这只是不起作用。

23依次是

列的名称

5 个答案:

答案 0 :(得分:5)

如果23是您的列名,请使用`

将其撤消
UPDATE answers 
SET `23` = 2 
WHERE user_id ='1';

答案 1 :(得分:2)

假设您尝试更新的列名为value,则应使用以下代码:

UPDATE answers SET value = 2 WHERE user_id ='1' and value='23';

修改

关于这个评论:

  

是的,23是该字段的名称 - Mladen

UPDATE answers SET `23`= 2 WHERE user_id ='1';

这应该是正确的查询。但是,您不应仅使用数字作为列名,因为您刚遇到的原因:MySQL可能会将数字标识符与实数混淆,因此您的查询可能会失败。

答案 2 :(得分:1)

UPDATE answers SET [23] = 2 WHERE user_id ='1';
or 
    UPDATE answers SET `23` = 2 WHERE user_id ='1';

答案 3 :(得分:0)

需要

UPDATE answers SET <column_name> = 2 WHERE user_id ='1';

答案 4 :(得分:0)

如果23是您的字段的名称,那么您需要以这种方式转义它:

UPDATE answers SET `23` = 2
WHERE user_id ='1';

那是因为它不是把它解释为一个字段而是一个数字。

Example

希望有所帮助。