更新mysql数据库中的一行?

时间:2012-05-16 13:10:51

标签: php mysql html

使用INSERT,REPLACE或ON DUPLICATE KEY UPDATE来更新数据库中的行是否更好?

我目前正在使用:

mysql_query("insert into pages (pages_id, pagename, pagedesc, pagekey, pagecont) values('$pages_id', $pagename', '$pagedesc', '$pagekey', '$pagecont')");

在数据库中创建新行。

pages_id是mysql数据库中的auto_increment字段。我不确定哪个是更新数据库中现有行的最佳方法?

4 个答案:

答案 0 :(得分:3)

具有讽刺意味的是,您使用UPDATE更新SQL中的行。

UPDATE pages SET ... WHERE pages_id = $pages_id;

答案 1 :(得分:3)

如果您要更新现有行(并且您100%确定它存在),请务必进行更新。

BUT

如果您正在“更新”可能不存在的行,请转到“INSERT ... ON DUPLICATE KEY UPDATE”。

答案 2 :(得分:0)

使用UPDATE并指定pages_id?

以下是UPDATEUPDATE tutorial

的教程

小例子:

mysql_query("UPDATE pages SET pagename = $pagename WHERE pages_id = $page_id");

虽然完全不同,但是停止使用mysql *函数并开始使用PDO,它会更加安全!

答案 3 :(得分:0)

INSERT总是比UPDATE更重要的操作。 INSERT必须为新插入的项目分配内存,而UPDATE会在表格上执行搜索,并且不会查找新内存。当您必须在短时间内插入许多记录时,这种差异变得至关重要。当DB不是很忙时,INSERT最好,必要时再UPDATE