mysql判断某个key是否存在_PHP:Mysql判断KEY是否存在 如果存在走修改 如果不存在走添加...

0、PHP代码

/**

* POST 传参

*

* 例子 添加修改 使用同一个地址 一条 sql 解决

*

* 做统计使用这个例子也是很可可以的

*/

# PDO 链接数据库

$dsn = 'mysql:host=192.168.1.101;port=3306;dbname=test';

$PDO_test = new PDO($dsn, 'root', 'root', array(PDO::ATTR_PERSISTENT => false));

# 字符集

$PDO_test->query('set names utf8;');

# ON DUPLICATE KEY 判断 KEY 是否存在如果存在就修改 如果不存在就添加

$tmp = $PDO_test->prepare("

insert into test

(id,fieldOne,fieldTwo,fieldThree)values(:id,:fieldOne,:fieldTwo,:fieldThree)

ON DUPLICATE KEY UPDATE fieldOne = :fieldOne,fieldTwo = :fieldTwo,fieldThree = :fieldThree

");

# 执行

$ret = $tmp->execute(array(

# 如果传入 ID 已存在就修改数据 ? 传入的 ID 不存在或者没传入 ID 他都是添加

':id' => !empty($_POST['id']) && isset($_POST['id']) ? $_POST['id'] : NULL,

# 一下都是做判空处理

':fieldOne' => !empty($_POST['fieldOne']) && isset($_POST['fieldOne']) ? $_POST['fieldOne'] : NULL,

':fieldTwo' => !empty($_POST['fieldTwo']) && isset($_POST['fieldTwo']) ? $_POST['fieldTwo'] : NULL,

':fieldThree' => !empty($_POST['fieldThree']) && isset($_POST['fieldThree']) ? $_POST['fieldThree'] : NULL

));

if($ret){

echo json_encode(array('massage'=>'操作成功','code'=>'200'));

}else{

echo json_encode(array('massage'=>'操作失败','code'=>'400'));

}

1、Mysql语句

SET NAMES utf8;

SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------

-- Table structure for `test`

-- ----------------------------

DROP TABLE IF EXISTS `test`;

CREATE TABLE `test` (

`id` int(11) unsigned NOT NULL AUTO_INCREMENT,

`fieldOne` varchar(255) DEFAULT NULL,

`fieldTwo` varchar(255) DEFAULT NULL,

`fieldThree` varchar(255) DEFAULT NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=gbk;

SET FOREIGN_KEY_CHECKS = 1;

2、测试添加数据

(1)使用 postMan 添加

(2) 添加成功

3、测试修改数据

(1)修改时添加上ID

(2)修改数据成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值