MySQL更新枚举

时间:2010-03-27 14:46:37

标签: php mysql sql enums sql-update

我有一个带枚举的字段:'预览','有效','已关闭'

当我这样查询时:

        $query = "UPDATE albums 
                SET album_active = preview 
                WHERE album_id = 3";
        $result = mysql_query($query);
        if (!$result) die('Invalid query: ' . mysql_error());

我明白了:

Invalid query: Unknown column 'preview' in 'field list

其他查询:

        $query = sprintf("UPDATE albums SET 
                    album_active = %s 
                    WHERE album_id = %d", 
                    $_POST['album_active'], 
                    $_POST['album_id']
            );

1 个答案:

答案 0 :(得分:3)

尝试将preview放在引号中:

SET album_active = 'preview' 

如果没有引号preview,查询解析器会将其识别为列名,如:

UPDATE TABLE T
SET column1 = column2
WHERE...