我有一个SQL查询,我想在单个查询中插入多行。所以我用了这样的东西:
$sql = "INSERT INTO beautiful (name, age)
VALUES
('Helen', 24),
('Katrina', 21),
('Samia', 22),
('Hui Ling', 25),
('Yumie', 29)";
mysql_query( $sql, $conn );
问题是,当我执行这个查询时,我想检查是否应该检查UNIQUE
键(不是PRIMARY KEY
),例如上面的'name'
,如果这样的'name'
已经存在,则应该更新对应的整行,否则将插入。
例如,在下面的例子中,如果'Katrina'
已经存在于数据库中,那么不管字段的数量如何,整行都应该被更新。同样,如果'Samia'
不存在,则应该插入该行。
我想到用:
INSERT INTO beautiful (name, age)
VALUES
('Helen', 24),
('Katrina', 21),
('Samia', 22),
('Hui Ling', 25),
('Yumie', 29) ON DUPLICATE KEY UPDATE
这是陷阱。我被困住了,不知道该怎么做。我一次有多行要插入/更新。请给我指路。谢谢。