【问题标题】:yii mssql cannot update identity columnyii mssql 无法更新标识列
【发布时间】:2013-11-01 14:42:08
【问题描述】:

yii 1.1.13, 微软 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),但不清楚。

什么解决方案好?

【问题讨论】:

    标签: php sql sql-server yii


    【解决方案1】:

    Yii make 的 SQL:

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

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

    [id]=:yp0

    ?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多