Jump to content

Need help in simple SQL


saurav99990

Recommended Posts

I want to replace the content of a column in database. I know I should use this :

CREATE OR REPLACE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition

 

but I want to do it without any condition. I want only 1 value in my column that's why I am using replace. Does anyone know to do this? If you are not able to understand my question come on teamviewer....I'll explain you. 

Link to comment
Share on other sites

We use (INSERT INTO) to insert a record in the table which creates more than one record when used again. Is there any way to add a record and alternately replacing the prevoius one without adding any new record. I know this would work:

UPDATE Customers
SET ContactName='Alfred Schmidt', City='Hamburg'
WHERE CustomerName='Alfreds Futterkiste';

 

But what if there is no condition ie. we don't know the record, we only know the column name. Is there any way to fill only one record and alternately replace the previous record without creating 2nd record?

Link to comment
Share on other sites

@cyberRobot, that method is not recommended as it can still lead to duplicates due to race conditions.

 

@saurav99990,

 

There is a simple solution: ON DUPLICATE KEY UPDATE. You would need to set a UNIQUE constraint on the appropriate field - in your example it would be "CustomerName". Then you just create an INSERT query with an optional ON DUPLICATE condition.

 

 

INSERT INTO Customers
   (CustomerName, ContactName, City)
VALUES
    ('Alfreds Futterkiste', 'Alfred Schmidt', 'Hamburg') '<< Only provide data on this line
ON DUPLICATE KEY UPDATE
    SET ContactName = VALUES(ContactName),
    SET City = VALUES(City)

 

If a record with the CustomerName 'Alfreds Futterkiste' does not exist, a new record is created with the values for CustomerName, ContactName & City. If a record with that CustomerName does exist, then the fields for ContactName & City will be updated (if the values are different than what exists for the field currently)

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.