Use a RDBMS There is a reason constraints were created and why Cassandra doesn't have it
Sent from my iPhone > On Mar 2, 2015, at 2:23 AM, Rahul Srivastava <srivastava.robi...@gmail.com> > wrote: > > but what if i want to fetch the value using on table then this idea might fail > >> On Mon, Mar 2, 2015 at 12:46 PM, Ajaya Agrawal <ajku....@gmail.com> wrote: >> Make a table for each of the unique keys. For e.g. >> >> If primary key for user table is user_id and you want the phone number >> column to be unique then create another table wherein the primary key is >> (phone_number, user_id). Before inserting to main table try to insert to >> this table first with "if not exists" clause. If it succeeds then go ahead >> with your insert to the user table. Similarly while deleting a row from the >> primary table delete the corresponding row in all other tables. The order of >> insertion to tables matter here otherwise you would end up inducing race >> conditions. >> >> The catch here is, you should not be updating the unique column ever. If you >> do that you would have to use locks and if there are multiple nodes running >> your application then you would need a distributed lock. I would suggest not >> to update the unique columns. In stead force your users to delete the entry >> and recreate it. If you can't do that you need to evaluate your choice of >> database. Perhaps a relational database would be better suited to your >> requirements. >> >> Hope this helps! >> >> -Ajaya >> >> Cheers, >> Ajaya >> >>> On Fri, Feb 27, 2015 at 5:26 PM, ROBIN SRIVASTAVA >>> <srivastava.robi...@gmail.com> wrote: >>> I want to make unique constraint in cassandra . As i want that all the >>> value in my column be unique in my column family ex: name-rahul phone-123 >>> address-abc >>> >>> now i want that in this row no values equal to rahul ,123 and abc get >>> inserted again on searching on datastax i found that i can achieve it by >>> doing query on partition key as IF NOT EXIST ,but not getting the solution >>> for getting all the three values unique means if name- jacob phone-123 >>> address-qwe >>> >>> this should also be not inserted into my database as my phone column has >>> the same value as i have shown with name-rahul. >>> >