I need to insert row if not exist, and update if exist, but not with primary key.
For example - this is my table structure:
id -> int(11), primary key, auto increment.
code -> char(20).
name -> char(50).
My table:
| id | code | name |
|---|---|---|
| 1 | code1 | name1 |
| 2 | code2 | name2 |
I tried this SQL:
INSERT INTO myTable (code, name)
VALUES ('code2edited', 'name2edited')
ON EXISTS (SELECT code, name FROM myTable WHERE code = 'code2')
UPDATE code = 'code2edited', name = 'name2edited'
This SQL will throw an error, but my expected result is:
| id | code | name |
|---|---|---|
| 1 | code1 | name1 |
| 2 | code2edited | name2edited |
And if not exist is:
| id | code | name |
|---|---|---|
| 1 | code1 | name1 |
| 2 | code2 | name2 |
| 3 | code2edited | name2edited |