gpt4 book ai didi

php - 识别具有200个字段的行中的一个字段(mysql数据库)

转载 作者:行者123 更新时间:2023-11-29 18:48:30 25 4
gpt4 key购买 nike

我想存储 100 个网址和 100 个 anchor 文本,它们在形成链接时连接在一起,例如 url_01/anchor_01,然后另一组是 url_02/anchor_02。

因此,我创建了 100 个网址字段和 100 个 anchor 字段,将我的数据与其他客户值存储在一行中。

使用一组后,我想将其从数据库中删除,现在我正在考虑添加一个计数器来识别我们必须采用哪个组合:

$count=$all_anchors['count'];
$anchor=$all_anchors['anchor_<?php echo $count; ?>'];
echo $anchor;

我知道这适用于标准 PHP/HTML,例如:

<?php $count=$all_anchors['count']; ?>
<a href="http://www.website.com/?id=<?php echo $count; ?>">anchor</a>

但是无法识别数据库中的字段。

希望有人可以帮助我,重要的是我知道 ID,例如与该值对应的数字,因为我想在使用后清空它。

最佳答案

这是一个糟糕的设计,无法扩展,为了回答你的问题,你必须循环遍历每一列以匹配你要查找的 URL 值(当然你知道你要查找的行 ID) 。喜欢

UPDATE TABLE SET col1=if(col1='url_01','',col1),col2=if(col2='url_01','',col2) ... where id=<row_id>

等等..
对于 anchor 标记也是如此。

推荐:

您应该创建三个非规范化表:
1.urls:记录所有可用的url

id   url        created_at
1 url_001 2017-06-10
2 url_002 2017-06-10

2. anchor :记录所有可用的 anchor

id   anchor  created_at 
1 anc_001 2017-06-10
2 anc_002 2017-06-10

3. url_anchors:映射表,您可以在其中附加任何带有任何 anchor 标记的 URL(无需再次重复相同的 URL 或 anchor 值)以及 customer_id。建议不要进行物理删除,而是如果不需要进一步将行(is_deleted)标记为已删除。(索引url_id和anchor_id)

id   url_id    anchor_id  customer_id created_at  is_deleted  deleted_at 
1 1 1 tom 2017-06-10 0 NULL
1 1 2 tom 2017-06-10 0 NULL
1 2 2 tom 2017-06-10 1 2017-06-10

搜索查询:

update
urls u
join url_anchors ua on u.id=ua.url_id
join anchors a on a.id=ua.anchor_id
set
is_deleted=1,
deleted_at=now()
where
u.url=<searched url>
and a.url=<searched anchor>

或删除查询(不推荐):

delete
ua
from
urls u
join url_anchors ua on u.id=ua.url_id
join anchors a on a.id=ua.anchor_id
where
u.url=<searched url>
and a.url=<searched anchor>

关于php - 识别具有200个字段的行中的一个字段(mysql数据库),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44469136/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com