Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
BedrockMission!

Learn more

View all

Sign in to view all badges

SOLVED

Default value in existing schema

Partha18
Level 3
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
Adhiyan
Correct answer by
Employee
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
Adhiyan
Employee
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

Partha18
Level 3
Level 3

1654847_pastedImage_0.png

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

Adhiyan
Correct answer by
Employee
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