暫定対応

commonのupdateメソッドをmssql.php内でこんな感じでオーバーライドしてみた。

	function update($table, $data, $condition, $connect) {
		$count	= count($data);
		// 対象テーブルのIDENTITY列名の取得
		$get_identity_sql = "SELECT sysobjects.name AS tbl_name, syscolumns.name AS ";
		$get_identity_sql .= " col_name FROM syscolumns LEFT OUTER JOIN sysobjects ";
		$get_identity_sql .= " ON sysobjects.id = syscolumns.id ";
		$get_identity_sql .= " WHERE (sysobjects.xtype = 'U') ";
		$get_identity_sql .= " AND (syscolumns.status & 0x80 <> 0)";
		$get_identity_sql .= " AND (sysobjects.name='$table')";
		$target_id_column = mssql_query($get_identity_sql,$connect);
		$target_id_column_array = mssql_fetch_array($target_id_column);		
		if(!empty($target_id_column_array)){
			$target_column_name = $target_id_column_array['col_name'];
		} else {
			$target_column_name = false ;
		}		
		$query	= "UPDATE $table SET ";
		$i		= 0;
		foreach ($data as $key => $value) {
			if ($key != $target_column_name) {//$keyが$target_column_nameと一致する場合はバイパス
				if ($i > 0) {
					$query .= ",";
				}
				$query .= $this->CreateCondition($key, $value);
			}
			$i++;
		}
		$query	.= " WHERE " . $this->parseCondition($condition);
		return $this->query($query, $connect);
	}

これで一応は処理が通るようです。
delメソッドはcommonのままで正常に動作しますので、これで一通りは動く物になったかなぁ。