Php 在MYSQL中同时更新和删除/插入值

Php 在MYSQL中同时更新和删除/插入值,php,mysql,sql,performance,Php,Mysql,Sql,Performance,目前我有数据,它必须有1个标题和1个内容,并随机编号(或无)链接组(链接文本和链接),(因为它是动态生成的),例如链接文本1,链接1,链接文本2,链接2…等等。因此,一个示例数据是: 标题:“abc” 内容:“测试” linktext1:“雅虎” 链接1:“http://yahoo.com" 问题是我是否希望以最小的步长更新数据。我能想到的方法是: 更新标题和内容 选择它的id 根据id选择相关链接文本,链接 如果存在,请更新 如果不存在,请插入 如果以前存在,但现在不存在,请删除 我想用更优

目前我有数据,它必须有1个标题和1个内容,并随机编号(或无)链接组(链接文本和链接),(因为它是动态生成的),例如链接文本1,链接1,链接文本2,链接2…等等。因此,一个示例数据是:

标题:“abc”
内容:“测试”
linktext1:“雅虎”
链接1:“http://yahoo.com"
问题是我是否希望以最小的步长更新数据。我能想到的方法是:

  • 更新标题和内容
  • 选择它的id
  • 根据id选择相关链接文本,链接
  • 如果存在,请更新
  • 如果不存在,请插入
  • 如果以前存在,但现在不存在,请删除
  • 我想用更优雅的方式来做这件事。是否有任何组合SQL或哪种方式可以最小化查询?谢谢

    更新:数据结构:

    Table: news
    id
    title
    content
    
    Table: news_link
    id
    title
    url
    news_id
    
    新闻和新闻链接是1=m关系


    新闻id是新闻的外键,谢谢

    我们需要更多的信息。用户是否正在更改此信息?如果您在第1步中更新了标题和内容,则不需要第2步,因为您可能已经拥有进行更新的id。具有标题和内容的表是否与链接表存在一对多关系?如果是这样,为什么不删除所有链接并重新插入它们,或者您可以在重复密钥更新时插入它们。需要更多的信息。这应该会有帮助,因为它解释了替换和插入。。更新表结构,感谢您的帮助我已经阅读了链接,谢谢。我需要先选择钥匙吗?