ai didi

php - MySql:如果值存在 UPDATE else INSERT

转载 作者:IT老高 更新时间:2023-10-28 23:59:03 24 4
gpt4 key购买 nike

我有一些看起来像这样的代码。表中还有一个自动增量字段,我必须保留它(它用于其他表)。我想简化和优化这段代码。

$query ="SELECT * FROM models WHERE col1 = 'foo'";
$testResult = mysql_query($query) or die('Error, query failed');

if(mysql_fetch_array($testResult) == NULL){
//insert...
$query ="INSERT INTO models (col1, col2, col3)
VALUES ('foo', 'bar', 'alph')";
$result = mysql_query($query) or die('Error, query failed');
}else{
//update...
$query = "UPDATE models
SET col1='foo', col2='bar', col3='alph'
WHERE col1='foo' AND col2='bar'";
$result = mysql_query($query) or die('Error, query failed');
}

编辑:主键 id 是自动递增的字段。我永远不想改变这一点。但是,当另一个字段重复时,这就是我要更新该记录的时候。

最佳答案

替换成怎么样:

REPLACE INTO models
( col1, col2, col3 )
VALUES
( 'foo', 'bar', 'alpha' )

假设 col1 是您的主键,如果值 'foo' 的行已经存在,它将更新其他两列。否则它将插入一个新行。

关于php - MySql:如果值存在 UPDATE else INSERT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10095680/

24 4 0
文章推荐: mysql - 考虑到两列,如何做一个 LIKE?
文章推荐: android - 使用 Android : how do I prevent underling views from drawing on top of my custom view? 在 View 剪辑边界之外绘制时
文章推荐: php - 如何允许 SELECT 查询并阻止其他查询?
文章推荐: mysql - 如何解密 MySQL 密码
IT老高
个人简介

我是一名优秀的程序员,十分优秀!

滴滴打车优惠券免费领取
滴滴打车优惠券
全站热门文章
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com