yii mssql无法更新标识列

时间:2013-11-01 14:42:08

标签: php sql sql-server yii

yii 1.1.13, MS SQL Server 2012

 CREATE TABLE [dbo].[name](
   [id] [int] IDENTITY(1,1) NOT NULL,
   [name] [nvarchar](50) NOT NULL,
   CONSTRAINT [PK_name] PRIMARY KEY CLUSTERED

通过gii创建的模型,控制器和CRUD。

_form.php这个:

$form=$this->beginWidget('CActiveForm', array('id'=>'name-form',));
echo $form->textField($model,'name',array('size'=>50,'maxlength'=>50));
echo CHtml::submitButton($model->isNewRecord ? 'Create' : 'Save');
$this->endWidget();

$model->attributes=$_POST['Name'];
$model->save();
  

常规错误:20018无法更新标识列'id'。 [20018](严重程度5)

临时解决方案是: unset($model->id),但目前尚不清楚。

什么解决方案很好?

1 个答案:

答案 0 :(得分:0)

Yii make的SQL:

UPDATE [name] SET [id]=:yp0,
[name]=:yp1 WHERE [name].[id]=2

我的_form.php没有字段'id'。为什么yii设置

  

[ID] =:YP0