我在我的表中添加了一个名为“room_num”的字段。基本上插入我想设置room_num的默认值是最后一个room_num + 1的最大值。显然我会使用自动增量,如果这个表只适用于一个用户,但它会适用于许多所以我有一个运行唯一索引以及唯一的字段user_index。有没有办法在Mysql phpMyAdmin中将字段默认值设置为Max + 1?
我可以运行一个基于user_index的查询,并返回“room_num”的最大值,但由于我已经在这里,有没有办法使默认值的某种功能?
因此,例如我的表看起来像这样:
+-------+-------------+---------+-------------+
| index | room_num | title | user_index |
+-------+-------------+---------+-------------+
| 0 | 0 | Patio | 10 |
+-------+-------------+---------+-------------+
| 1 + 1 | Dining | 10 |
+-------+-------------+---------+-------------+
| 2 + 0 | Bar | 15 |
+-------+-------------+---------+-------------+
| 3 + 2 | Dining | 10 |
+-------+-------------+---------+-------------+
所以,现在我要为我的USER_INDEX 15下插入room_num默认值默认为最大room_num(0)+ 1(在这种情况下会是1)。但是,我想利用这个这里护理:
不是第一次在我的应用程序查询,然后在插入记录和本质使得两个数据库连接。
这可能吗?
// Off topic - 你如何制作漂亮的桌子? – 472084 2012-02-16 16:52:06
不,你不能这样做,在列的DEFAULT值中。你可以做的是创建一个'BEFORE/AFTER INSERT'触发器来完成计算并更新列值。此外,无论何时使用PHPMyAdmin,小猫都会死亡:/ – 2012-02-16 16:56:33
@ N.B。你推荐什么,而不是PHPMyAdmin?现在不能杀小猫,我们可以! – 472084 2012-02-16 16:59:36