首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >仅当值发生更改时才使用PHP语言更新MySQL数据库

问仅当值发生更改时才使用PHP语言更新MySQL数据库
EN

Stack Overflow用户
提问于 2012-05-01 06:01:13
回答 2查看 1.1K关注 0票数 0

我有一个很大的MySQL数据库,我正在把重要的部分提取到一个较小的MySQL数据库中。大型数据库中的值是不断变化的。较小的数据库也应该动态变化。

我只能在较小的数据库为空时填充它,使用以下代码:

代码语言:javascript
复制
$SQL_INSERT="INSERT LOW_PRIORITY IGNORE INTO oddsnavi_baby.calc (one , two, three)
VALUES ('$one', '$two' , '$three')";

mysql_db_query($database_baby, $SQL_INSERT) or die("Failed Query of " . $SQL_INSERT);

我想要被更改的值被更新。例如,如果$three与小型数据库中“three”中的现有值不同,则“three”是该行中唯一更新的值。如何做到这一点?

编辑:我在下面的代码中遇到错误。我的语法有什么问题?

代码语言:javascript
复制
$SQL_INSERT="INSERT LOW_PRIORITY IGNORE INTO oddsnavi_baby.calc (one , two, three)
VALUES ('$one', '$two' , '$three')
ON DUPLICATE KEY UPDATE oddsnavi_baby.calc SET two = '$two' , three = '$three'
WHERE one = '$one'";
EN

回答 2

Stack Overflow用户

发布于 2012-05-01 06:15:40

如果这两个数据库托管在相同的物理硬件上,您可能需要考虑在“大”数据库中的一个或多个表上实现更新触发器,该触发器将更新“小”数据库中的值。

下面是一篇关于在MySQL中使用触发器的简要概述:http://www.roseindia.net/mysql/mysql5/triggers.shtml

票数 1
EN

Stack Overflow用户

发布于 2012-05-01 06:15:38

我认为有两种方法可以做到这一点:

  1. 更改“大”数据库的软件,向管理小数据库的软件发出警报,然后管理软件更改相应的字段。
  2. 我认为您可以在两个数据库之间创建一个视图,但从来没有做过这样的事情,即使可能也不知道,但是为什么不可以,您可以在两个(或更多)数据库之间创建外键。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10391162

复制
相关文章

相似问题

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