mal Asked: 2015-02-12 21:54:03 +0800 CST2015-02-12 21:54:03 +0800 CST 2015-02-12 21:54:03 +0800 CST 是否可以根据插入到其他各种表中的数据更新一个表中的字段值? 772 假设我有一张代表客户的表。表中有一个名为 last_active 的字段,其中包含一个时间戳。当客户端使用数据库时,他们可以将数据插入四个不同的表之一。是否有一种有效的方法可以根据用户向其他四个表之一添加/更新数据来更新时间戳? 目前我正在使用准备好的语句来更新字段,并且在添加或修改其他表的准备好的语句之后直接运行它。这是一种有效的方法吗? mysql update 1 个回答 Voted Best Answer Rick James 2015-02-12T22:23:33+08:002015-02-12T22:23:33+08:00 考虑换个问题…… 在每个表中都有一个带有合适 DEFAULT 的 TIMESTAMP。在 UPDATE 或 INSERT 时自动设置它。 然后,在 SELECT 期间,加入 4 个表并获取 GREATEST(t1.ts, t2.ts, ...) 以找出 4 个表的最新 TIMESTAMP。 (我一直被 TIMESTAMP DEFAULTs 困扰——它们在我不期望的时候得到更新。我宁愿控制并更改/设置代码中的 ts。)
考虑换个问题……
在每个表中都有一个带有合适 DEFAULT 的 TIMESTAMP。在 UPDATE 或 INSERT 时自动设置它。
然后,在 SELECT 期间,加入 4 个表并获取 GREATEST(t1.ts, t2.ts, ...) 以找出 4 个表的最新 TIMESTAMP。
(我一直被 TIMESTAMP DEFAULTs 困扰——它们在我不期望的时候得到更新。我宁愿控制并更改/设置代码中的 ts。)