【发布时间】:2012-09-13 20:50:12
【问题描述】:
从我的表中插入/更新布尔值的最佳解决方案是什么。
每周或每月可以更改point的数量,例如当前数据:
+----+----------+-----------+--------------+-------+--------+
| id | phone_id | tarrif_id | affiliate_id | point | active |
+----+----------+-----------+--------------+-------+--------+
| 2 | 6 | 2 | 3 | 7.3 | 0 |
| 3 | 6 | 2 | 3 | 8.5 | 0 |
| 4 | 6 | 2 | 3 | 12.5 | 0 |
| 5 | 6 | 2 | 3 | 3.5 | 1 |
| 6 | 20 | 2 | 3 | 10.5 | 1 |
+----+----------+-----------+--------------+-------+--------+
我将插入一条具有相同phone_id、tarrif_id 和affiliate_id 的新记录,并禁用其他记录active=0。
新点更改,例如:
+----+----------+-----------+--------------+-------+--------+
| id | phone_id | tarrif_id | affiliate_id | point | active |
+----+----------+-----------+--------------+-------+--------+
| 2 | 6 | 2 | 3 | 7.3 | 0 |
| 3 | 6 | 2 | 3 | 8.5 | 0 |
| 4 | 6 | 2 | 3 | 12.5 | 0 |
| 5 | 6 | 2 | 3 | 3.5 | 0 |
| 6 | 20 | 2 | 3 | 10.5 | 0 |
| 7 | 6 | 2 | 3 | 20.2 | 1 |
| 8 | 20 | 2 | 3 | 33.7 | 1 |
+----+----------+-----------+--------------+-------+--------+
【问题讨论】:
-
本次更新后的结果集应该是什么样子,能否发个示例?
-
@MahmoudGamal 完成,查看更新。
-
如果所有列的值都相同会发生什么情况(例如,您为phone_id、tarrif_id 和affiliate_id 插入一个已经存在的点值)?
-
这个问题听起来很直接,我想知道是什么阻碍了你去做。能详细点吗?
-
@hakra 你的意思是所有列都相同,包括点值?好吧,我可以再次插入现在的行...但是我可以为历史记录添加“AddedDate”字段。您怎么看?除了使用布尔标志之外,还有其他方法吗?