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. >> > >