MySQL 更新枚举

发布于 2024-08-26 23:53:35 字数 630 浏览 4 评论 0原文

我有一个带有枚举的字段:'preview','active','close'

当我像这样查询时:

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

我得到:

无效查询:'字段列表中的未知列'preview'

其他查询:

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

I have a field with enums: 'preview','active','closed'

When I query like this:

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

I get:

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

Other query:

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

骑趴 2024-09-02 23:53:35

尝试将 preview 放在引号中,如下所示:

SET album_active = 'preview' 

如果没有引号,preview 将被查询解析​​器识别为列名称,如下所示:

UPDATE TABLE T
SET column1 = column2
WHERE...

Try putting preview in quotes as:

SET album_active = 'preview' 

Without the quotes preview will be recognized by the query parser as a column name, something like:

UPDATE TABLE T
SET column1 = column2
WHERE...
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文