Problem Description
I have a SQL query where I want to insert multiple rows in single query. so I used something like:
$sql = "INSERT INTO beautiful (name, age)
VALUES
('Helen', 24),
('Katrina', 21),
('Samia', 22),
('Hui Ling', 25),
('Yumie', 29)";
mysql_query( $sql, $conn );
The problem is when I execute this query, I want to check whether a `UNIQUE` key (which is not the `PRIMARY KEY`), e.g. `'name'` above, should be checked and if such a `'name'` already exists, the corresponding whole row should be updated otherwise inserted.
For instance, in the example below, if `'Katrina'` is already present in the database, the whole row, irrespective of the number of fields, should be updated. Again if `'Samia'` is not present, the row should be inserted.
I thought of using:
INSERT INTO beautiful (name, age)
VALUES
('Helen', 24),
('Katrina', 21),
('Samia', 22),
('Hui Ling', 25),
('Yumie', 29) ON DUPLICATE KEY UPDATE
Here is the trap. I got stuck and confused about how to proceed. I have multiple rows to insert/update at a time. Please give me a direction. Thanks.
AI-Generated Solution
Powered by LMSouq AI · GPT-4.1-mini
Analyzing problem and generating solution…
Was this solution helpful?