以编程方式重置MySQL默认值

时间:2011-07-05 14:15:00

标签: php mysql cakephp-1.3

是否可以在CakePHP中设置MySQL列的默认值?我有权访问用户表的默认值:

$fields = $this->User->schema(); 
$defaultValue = $fields['Amount']['default'];

现在我想将此默认值更改为admin提供的任何特定值。是否可以?

2 个答案:

答案 0 :(得分:0)

您不应使用MySQL表架构的default列属性来存储您计划允许用户修改的值。

您可能会考虑使用一些新的DefaultValues表/模型(作为一个解决方案)来存储此Amount列和其他类似列的可编辑默认值。然后,您可以有条件地检查User实例的Amount在保存时是否具有空值,并将其设置为从此新表中检索到的可编辑默认值。这为您提供了正在寻找(管理员可编辑的默认值)的功能,同时能够利用Cake的内置表/模型/表单来管理这些默认值的存储/检索。

答案 1 :(得分:0)

尝试更改架构:

ALTER TABLE dbo.table
ADD CONSTRAINT def_mycolumn DEFAULT Amount FOR mycolumn