开发者社区> 问答> 正文

请教这样的sql语句怎么写?:报错

现有两个表:attachment 、article

attachment 字段有: attachid(附件id)、aid(稿件id)、dateline(时间)

article 字段有:aid(文章id)、content(稿件内容)、dateline(时间)

情况是这样的:编辑在发稿的时候由于某些问题,稿件发布后没有更新附件中aid值,现在想修复。有什么好的办法。


展开
收起
kun坤 2020-06-09 23:03:31 530 0
1 条回答
写回答
取消 提交回答
  • 表结构有问题吧,你这里修改掉,之前引用过这个附件的文章怎么办。

    ######回复 @意志与表象的世界 : content中含有att(附件路径)。所以我content like 《att》结果很慢,性能很差。######你的article里没有任何关于attachment的信息啊,通过什么修复呢?######回复 @意志与表象的世界 : 不是的,是已经存在的数据,我想修复。######不属于多个文章,这个attachment的记录不就是伴随着当前新发的文章产生的吗?插入文章后获得此id,然后再插入attachment的记录。两个insert######回复 @意志与表象的世界 : 现在就是可以肯定不属于多个文章。求SQL语句。######

    有没有人能帮一下啊。

    ######

    作个判断,其他值不变,update一下就可以

    ######先要查出来才能update啊######

    aid(稿件id) 应该是非空没有默认值, 这样没有的话就会抛异常, 就不会出现楼主的情况了.

    现在是无法找到文章和附件的关系了

    ######content中含有att(附件路径)。######

    首先你得確認一點,content里的附件路徑能幫你拿到attachid

    例如 路徑是 download/?id=1,那attachid =1 .這個是前提,不然我想不到你怎麼能修復了。

    有這個前提的話,其實你只要把content里的內容用正則讀出所有附件路徑,建一張臨時表在住對應的aid和attachid基本就解決了。

    Sql支持正則不?我是沒用過,不曉得。如果支持,你正好又會,那2,3句就sql就解決了。

    ######但具体怎么写好呢######嗯,是个好办法。######

    article  表中的aid  和content字段中包含附件id的内容保存到一个临时表

    万一有1对N情况就麻烦咯,1篇文章有多个附件

    ###### @waney 去看SQL正则呗,谁都不知道CONTENT内容。要么就写代码把article读出来,通过程序帅选######是啊 这步具体怎么写啊。######要不其他语言配合sql写吧######主要是没看到两个表之间的对应关系 aid都没了 只能通过时间来匹配?######比如
    2020-06-09 23:03:37
    赞同 展开评论 打赏
问答分类:
SQL
问答地址:
问答排行榜
最热
最新

相关电子书

更多
SQL Server 2017 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载