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

标签 php mysql row field element

我想存储 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/

相关文章:

php - 使日期显示格式与标准 MySQL y-m-d 不同

mysql - 用于提取最新部分以及比该日期早 30 天的任何内容的 SQL 查询。

mysql - 如何在工作台中选择加密

vb.net - 使用 XmlWriter 在 XML 中写入行

PHP MySQL返回分割结果

php - 从表单插入多个值

php - 如何使用 'array_uintersec' 比较两个数组的条件?

php - JSON 转换 URL 错误

r - 如何在 R 中的每一行之间添加一行?

postgresql - 如何将数字添加到postgresql group by子句中的分组行