PHP:Mysql判断KEY是否存在 如果存在走修改 如果不存在走添加
文章来源:http://www.cnblogs.com/hello-tl/p/7738113.html
0、PHP代码
<?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)修改数据成功

文章来源:http://www.cnblogs.com/hello-tl/p/7738113.html
PHP:Mysql判断KEY是否存在 如果存在走修改 如果不存在走添加的更多相关文章
- mysql 判断表字段是否存在,然后修改
-- ---------------------------- -- 判断 vrv_paw_rule 表是否存在 thresholdMin 字段,不存在则添加; 存在则修改字段类型 DELIMITER ...
- Mysql中Key与Index的区别
mysql的key和index多少有点令人迷惑,这实际上考察对数据库体系结构的了解的. 1 key 是数据库的物理结构,它包含两层意义,一是约束(偏重于约束和规范数据库的结构完整性),二是索引(辅助查 ...
- mysql判断表里面一个逗号分隔的字符串是否包含单个字符串、查询结果用逗号分隔
1.mysql判断表里面一个逗号分隔的字符串是否包含单个字符串 : FIND_IN_SET select * from tablename where FIND_IN_SET(传的参数,匹配字段) 例 ...
- MySQL中KEY、PRIMARY KEY、UNIQUE KEY、INDEX 的区别
参考:MySQL中KEY.PRIMARY KEY.UNIQUE KEY.INDEX 的区别 对于题目中提出的问题,可以拆分来一步步解决.在 MySQL 中 KEY 和 INDEX 是同义.那这个问题就 ...
- Python enum 枚举 判断 key(键) 或者 value(值)是否在枚举中
Python enum 枚举 判断 key(键) 或者 value(值)是否在枚举中 python 的基本用法请浏览:https://www.cnblogs.com/ibingshan/p/98564 ...
- 【Mysql】key 、primary key 、unique key 与index区别
参考:https://blog.csdn.net/nanamasuda/article/details/52543177 总的来说,primary key .unique key 这些key建立的同时 ...
- 待续--mysql中key 、primary key 、unique key 与index区别
mysql中key .primary key .unique key 与index区别
- SQL Server、Oracle和MySQL判断NULL的方法
SQL Server.Oracle和MySQL判断NULL的方法 本文讲述SQL Server.Oracle.MySQL查出值为NULL的替换. 在SQL Server Oracle MySQL当数据 ...
- MySql判断汉字、日期、数字的具体函数
几个平常用的mysql函数,MySql判断汉字.日期.数字的具体函数分享给大家,具体内容如下 1.判断字符串是否为汉字 返回值:1-汉字 0-非汉字 ? 1 2 3 4 5 6 7 8 9 10 11 ...
随机推荐
- c语言程序设计案例教程(第2版)笔记(四)—指针、分配存储空间、文件
零散知识点: 指针类型:每个变量占用的首单元地址称为这个变量的存储地址. “&”为“取地址运算符”.格式:& 变量名.功能:返回指定变量的存储地址. “*”为“取内容运算”.格式:* ...
- COT2 - Count on a tree II(树上莫队)
COT2 - Count on a tree II You are given a tree with N nodes. The tree nodes are numbered from 1 to N ...
- Coins HDU - 2844 POJ - 1742
Coins HDU - 2844 POJ - 1742 多重背包可行性 当做一般多重背包,二进制优化 #include<cstdio> #include<cstring> in ...
- 循环队列 分类: c/c++ 2014-10-10 23:28 605人阅读 评论(0) 收藏
利用线性表实现队列,为了有效利用空间,将其设计为循环结构,防止假溢出:牺牲一个存储单元以区分队空.队满. 设front队头,rear队尾,N为顺序表大小 队空:rear==front 队满:(rear ...
- 转-用Eclipse 开发Dynamic Web Project应用程序
简介:本文仅简单介绍基于Eclipse开发Dynamic Web Project应用下的JSP,Servlet及TOMCAT数据源的配置和开发. 软件环境: Eclipse Java EE IDE f ...
- 鼠标适配器Adapter
先来看看概念: 现在我们要写一个这样的东西,就是一个窗口,然后鼠标点一下就有一个小圆点,like this: 来我们来看代码: import java.awt.*; import java.util. ...
- API系列一:REST和RESTful认识
序言 最近工作的项目一直使用API,就想趁這个机会,把API的知识点进行一次梳理和总结,顺便提升一下自己对API全新的认识 Web API 是ASP.NET平台新加的一个特性,它可以简单快速地创建We ...
- thinkphp3.2 + soap
服务器配置 扩展libxml2下载地址:http://xmlsoft.org/downloads.html 在windows下的php.ini文件里 找到这一行代码(如没有则自行添加) extensi ...
- mybatis的mapper.xml文件细节
- java之数据处理,小数点保留位数
1.返回字符串类型,保留后两位: public static String getRate(Object d) { return String.format("%.2f", d); ...