数据库内遇到相同的数据,就覆盖,代码如何实现,用什么函数

kahn178 2009-07-27 05:26:03
数据库内遇到相同的数据,就覆盖,代码如何实现,用什么函数

向数据库内插入数据,以URL为主銉,当遇到相同的URL时,就覆盖相同的数据,也就是不再另起一行,应该用什么函数实现呢?
...全文
27 点赞 收藏 5
写回复
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
foolbirdflyfirst 2009-07-27
要么先判断再insert,要么如2楼所说.
ps:一般很少将某个char类型字段设为pk的,unique就行了吧
回复
blueforyou 2009-07-27
如果是主键的话,可以这样(例子):
if(mysql_query("insert into test(url,...) values($url,..)")){
//成功
}else{
mysql_query("update test set ...=... where url='$url'");
}
回复
dzxccsu 2009-07-27
先判断数据库中有无URL,有就UPDATE,无就INSERT
回复
Gdj 2009-07-27
首先,把那个数据列设为unique键或主键。然后插入数据时不使用insert into ...,而是使用replace (...) values (...)
回复
程序猿之殇 2009-07-27
1 插入之前先查询.
2 再者说,因为URL是主键,不能重复,是无法再插入新的记录的.所要检查插入失败后更新记录.
回复
发动态
发帖子
基础编程
创建于2007-09-28

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
申请成为版主
社区公告
暂无公告