首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何更新相同ID的数据库中的数据?

如何更新相同ID的数据库中的数据?
EN

Stack Overflow用户
提问于 2016-08-09 22:09:58
回答 1查看 37关注 0票数 0

我有一个表,用户通过复选框来存储它的首选项。First insert可以很好地工作,但是如果用户想要更新首选项呢?我当前的逻辑将创建新的行,这是不好的。

有人告诉我删除与用户关联的所有行,然后重新插入,但我读到这将给服务器带来大量负载。

另一种是序列化,但我听说这是一种糟糕的做法。

如何仅更新用户想要更改的首选项?(假设用户取消选中年龄0-1并选中7-10。然后它应该从数据库中删除0-1,并添加7-10。

HTML

代码语言:javascript
运行
复制
<div class="row">
    <div class="col-md-12">
        <div class="col-md-2 img-thumbnail">
            <img src="assets/images/boy_icon.png" alt="pencil" class="img-circle">
            <div class="checkbox">
                <input type="checkbox" data-id="1" name="childAgeRanges[]" value="0-1" checked="checked">
                <label for="0-1">age 0-1</label>
            </div>
        </div>
        <div class="col-md-2 img-thumbnail">
            <img src="assets/images/boy_icon.png" alt="pencil" class="img-circle">
            <div class="checkbox">
                <input type="checkbox" data-id="2" id="1-3" name="childAgeRanges[]" value="1-3" checked="checked">
                <label for="1-3">age1-3</label>
            </div>
        </div>
        <div class="col-md-2 img-thumbnail">
            <img src="assets/images/boy_icon.png" alt="pencil" class="img-circle">
            <div class="checkbox">
                <input type="checkbox" data-id="3" id="4-6" name="childAgeRanges[]" value="4-6" checked="checked">
                <label for="4-6">age 4-6</label>
            </div>
        </div>
        <div class="col-md-2 img-thumbnail">
            <img src="assets/images/boy_icon.png" alt="pencil" class="img-circle">
            <div class="checkbox">
                <input type="checkbox" id="7-10" name="childAgeRanges[]" value="7-10" checked="checked">
                <label for="7-10">age 7-10</label>
            </div>
        </div>
    </div>
</div>

我的表格:

代码语言:javascript
运行
复制
age_id | user_id        | range_id
1        1              | 0-1
2        1              | 1-3
3        1              | 4-6
EN

回答 1

Stack Overflow用户

发布于 2016-08-09 22:21:10

对于此示例,在运行更新查询之前,请选择user age list。循环它们并检查它们是否在childAgeRanges数组中。如果不是,则删除其id。您也可以使用相同的方法添加它们。循环childAgeRanges数组并检查它们是否在结果集中。但如果你问我,我肯定会删除所有年龄,然后再添加它们。Ot将在服务器上使用更少的资源,代码也不会变得一团糟。相信我,删除和添加不会对你的服务器造成那么大的影响,而且用户通常不会在他们的设置中进行这么多类型的更改。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38853140

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档