Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7712697
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 1, 20262026-06-01T01:41:49+00:00 2026-06-01T01:41:49+00:00

I have this table: User id INT PK login VARCHAR UNIQUE I want to

  • 0

I have this table:

User
    id INT PK
    login VARCHAR UNIQUE

I want to know the best way to handle UNIQUE index insertion (ex: new user creation)

1) I can simply INSERT and when a “duplicate entry is raised” and I catch the exception and handle it in the application

=> I’m not sure this is the best solution to do that

2) I can SELECT … WHERE login = … then INSERT when no record found or display an error if the select found something

=> This is not atomic, an insert can happen between SELECT and INSERT

3) I can start a transaction, SELECT FOR UPDATE, INSERT then COMMIT when no records found or ROLLBACK and display an error if the user already exists

=> This simply won’t work since MySQL doesn’t lock no existing lines… So it will certainly result in a deadlock

So what is the best way to handle this very simple study case?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-01T01:41:51+00:00Added an answer on June 1, 2026 at 1:41 am

    You can do an

    INSERT IGNORE ...
    

    MySQL manual INSERT

    Or

    REPLACE ...
    

    MySQL manual REPLACE

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have this sql statement: CREATE TABLE [dbo].[User]( [UserId] [int] IDENTITY(1,1) NOT NULL, [FirstName]
I have a table Login(id(int),EmailId(varchar(35),connType(varchar)) where conntype has values like pop3 or imap. consider
I have the following database tables : user int unsigned id varchar login group
I have this Points table: =========================================== FIELD : TYPE =========================================== id int(11) user_id int(11)
Hello I have like this 2 tables class User public int UserId{get;set;} { ....
I have a schema design that looks like this: Table: User Row Column Family
I have a user table like this FIRSTNAME | LASTNAME | ID | --------------------------------
I have a table like this, with three fields: User | Question# | Answer
Suppose you have a table like this: id user score It's a dump of
I have this table Ratings containing an USER_ID, Artist_ID and a Rating (int, the

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.