Expand my Community achievements bar.

SOLVED

Default value in existing schema

Avatar

Level 3

Hi,

For example, I have an existing schema with 10 data in it. one of the attribute is "rank"

<attribute label="rank" name="rank" type="long"/>

Now i want to assign default value for rank as "3" where there is no value in it. (means rank as "3" for existing values where rank is null or 0 and rank as 3 for future updating data where rank will be blank)

So if i make change as  <attribute label="rank" name="rank" type="long" sqlDefault="3"/> , all the existing values became "3". But i need null or 0 values to become 3.

so what should i need to do?

Thanks in advance,

ParthaSarathy.

1 Accepted Solution

Avatar

Correct answer by
Employee

Hi Partha,

You need to switch on SQL injection from the serverconf.xml file by making the allowSQLInjection attribute to true.

There should be a section like below in the security zone where you can add the parameter in Red.

<securityZone allowDebug="false" allowHTTP="false" allowSQLInjection="true" label="Public Network"

                name="public">

Regards,

Adhiyan

View solution in original post

3 Replies

Avatar

Employee

Hi Partha,

I think you can use SQL calculated fields here . Something like:

<attribute expr="[SQLDATA[case when iRank = 0 THEN '3' when iRank is NULL THEN '3' ELSE 'Specified'

END]]" label="rank" name="rank" type="long"/>

Or you can delete the existing data and and reload the schema with the updated condition for sqlDefault=3 , then while uploading all the values which are not specified (like 0 or Null ) will be 3.

Regards,
Adhiyan

Avatar

Level 3

1654847_pastedImage_0.png

i am getting this error when i tried to update database structure..

Avatar

Correct answer by
Employee

Hi Partha,

You need to switch on SQL injection from the serverconf.xml file by making the allowSQLInjection attribute to true.

There should be a section like below in the security zone where you can add the parameter in Red.

<securityZone allowDebug="false" allowHTTP="false" allowSQLInjection="true" label="Public Network"

                name="public">

Regards,

Adhiyan