Home > DeveloperSection > Forums > Blocking blank value entry into a database
jayprakash sharma
jayprakash sharma

Total Post:117

Points:821
Posted on    May-02-2013 3:15 AM

 MSSQL Server MSSQL Server 
Ratings:


 1 Reply(s)
 848  View(s)
Rate this:
Hi Everyone!

I have a database into which i enter values through an application. To be specific ,i enter certain value in a text-box and click on save Button which handles the task of saving it into the database. The problem that i'm facing is even when i don't enter any value in the text-box and click on save button the value gets saved into the database( A case which i should have handled in the code ). Now i want to write a SQL-script so that it blocks the entry of the blank values into the database .

for example lets say ..books be the table which contains columns author_name , price , year

so if a try to enter a blank author name and try saving it, it should not be saved

I tried this:

 DELIMITER |

 CREATE TRIGGER test AFTER INSERT ON books
  FOR EACH ROW BEGIN
  IF NEW.author_name= '' THEN    
  delete from books where author_name= '';
  END IF;      
END;
|books
DELIMITER ;
can anyone tell me how to do this , is there any other method to achieve this ?

Thanks in advance! 


AVADHESH PATEL

Total Post:604

Points:4228
Posted on    May-02-2013 8:13 AM

Hi Jayprakash!

Your trigger should look something like this:

CREATE TRIGGER <name of the trigger> BEFORE INSERT ON <name of table>
    FOR EACH ROW BEGIN
      IF NEW.<fieldname> = ''
      THEN
        SET NEW='Error: Cannot insert record empty value for <fieldname>';
      END IF;
    END
    ;
Create the trigger BEFORE insert

OR

You should validate user input in the application.

Don't want to miss updates? Please click the below button!

Follow MindStick