-1

Please help me. I want to insert record in my database that prevents duplicate entries while inserting a record. Here's my code:

INSERT INTO Items_Tbl(Room_ID, Date_Purchased,Pc_Number)
Values('1', '2019-01-01', '1')
WHERE NOT EXISTS(Select PC_Number FROM Items_Tbl WHERE Room_ID = 1)

I don't want PC_Number to accept same entries.

quinz
  • 1,282
  • 4
  • 21
  • 33
Annie
  • 1
  • 1

1 Answers1

0

One way to do it is as such:

IF NOT EXISTS(Select PC_Number FROM Items_Tbl WHERE Room_ID = 1)
    INSERT INTO Items_Tbl(Room_ID, Date_Purchased,Pc_Number)
    Values('1', '2019-01-01', '1')

However, since you are using SQL Server, it's much better to create a unique, non-clustered index on the target table for the field PC_Number. You can also create a query/stored procedure separately to check if the PC_Number exists, if you need to reuse it elsewhere.

HardCode
  • 6,497
  • 4
  • 31
  • 54