sql实现有数据就更新,没有就插入

首先建表:

create table lxt_user3(
user_id int unsigned not null primary key auto_increment comment ‘用户id‘,
qq_open_id varchar(32) unique,---------------》该表中得有一个字段为unique,否则执行下面的sql语句时会达不到预期的效果
role_id int unsigned not null,
category_id int unsigned,
status int unsigned,
name varchar(20) default ‘‘,
img varchar(100) default ‘‘,
password varchar(32) default ‘‘,
salt varchar(4) default ‘‘,
sex int,
email varchar(30) default ‘‘,
telephone varchar(20) default ‘‘,
address varchar(100) default ‘‘,
navigation varchar(1000) default ‘‘,
simple_menu varchar(1000) default ‘‘,
dashboard text,
reg_ip varchar(15) default ‘‘,
reg_time int unsigned default 0,
last_login_time int unsigned default 0,
lostpw_time int unsigned default 0,
weixinid int,
last_read_time varchar(500) default ‘‘,
qqnumber int,
realname varchar(30) default ‘‘,
Position varchar(20) default ‘‘
)engine=MyISAM default charset=utf8 comment ‘用户表‘;

关键的一条sql语句:

$sql="INSERT INTO lxt_user3 SET realname=‘$realname‘,role_id=‘$role_id‘,sex=‘$sex‘,name=‘$name‘,qq_open_id=‘$qq_open_id‘ ON DUPLICATE KEY UPDATE realname=‘$realname‘,role_id=‘$role_id‘,sex=‘$sex‘,name=‘$name‘,qq_open_id=‘$qq_open_id‘";

时间: 2024-11-10 00:36:28

sql实现有数据就更新,没有就插入的相关文章

更改sql多条数据,更新替换字符串中固定的字符串

需求产生的背景: 数据库里建库时插入了字典数据,可是这个字典数据,有一些是不准确的,所以就需要把一些固定的数据查出来替换掉. 问题解决逻辑: 大体逻辑是,首先把固定需要替换的字符串提取出来,赋值给变量. 然后在用update 语句更新用REPLACE替换的数据. 下面代码: declare @pacsIp varchar(30)  --定义一个临时变量,用来存储需要替换的字符串 SELECT @pacsIp = ( SUBSTRING ( popedom_URL , charindex('//'

数据库主键自增插入显示值

SQL Server 2008 数据库主键自增插入显示值 前几天在工作的时候遇到在删除数据库中表的数据的时候,删除之后,重新添加的数据没有得到原来的数据的id值(表中id为主键,且设置为自增) ,使用的是SQL Server 2008 ,现在已解决,和大家分享一下! 具体情况: 1.建立表t_test,设置主键自增,如下图 2.向表中插入数据 由于表中的主键字段id为自增在插入的时候不需要指定显示插入,所以Sql 语句为 <span style="font-size:24px;"

SQL Server编程必知必会(插入/删除/更新数据,视图) -- (80-85 点总结)

------------------------插入数据------------------------- 80.1. 插入完整的行-- 各个列必须以他们在表定义中出现的次序填充INSERT INTO customersVALUES ('Pep E. LaPew','100 Main Street','LOS Angeles','CA','90046','USA',NULL,NULL) -- INSERT 语句的安全操作方法,指定列, INTO 关键字是可选的INSERT INTO custom

SQL基础教程(第2版)第4章 数据更新:4-3 数据的更新(UPDATE)

● UPDATE语句可以将列的值更新为NULL.● 同时更新多列时,可以在UPDATE语句的SET子句中,使用逗号分隔更新对象的多个列. 指定条件的UPDATE语句(搜索型UPDATE) SET 子句中赋值表达式的右边不仅可以是单纯的值,还可以是包含列的表达式. 使用NULL进行更新 使用 UPDATE 也可以将列更新为 NULL(该更新俗称为 NULL 清空).此时只需要将赋值表达式右边的值直接写为 NULL 即可. 多列更新 SQL基础教程(第2版)第4章 数据更新:4-3 数据的更新(UP

SQL需求1-两表关联更新操作

今天,业务部门给我来了一个需求.需要将本地的的excel表格导入到SQL Server中,SQL Server原表t1增加了三列字段,默认是NULL无数据.将本地导入的excel表格t2表中这几列数据更新到原表t1中. 现将导入方法记录下来,方便今后使用: 1. 导入Excel表格到SQL Server中.(略) 2. 查看数据内容 3. 更新数据 4. 更新后数据显示结果 由于本人多年维护 MySQL,现将MySQL 的更新方法整理一下: 1.查看数据内容 2.更新数据 3.更新后数据显示结果

mybatis数据批量更新

原sql语句: update zyjd set peopleId=case when id=1 then   10, when id=2 then   11 end, roadgridid =case when id=1 then   101, when id=2 then   102 end, ---- where id=1 or id=2 sql意思:当id=1的情况下peopleId =10,roadgridid =101,当id=2的情况下peopleId =11,roadgridid 

基于server broker 的数据实时更新

Service Broker介绍:SQL Server Service Broker 为消息和队列应用程序提供 SQL Server 数据库引擎本机支持.这使开发人员可以轻松地创建使用数据库引擎组件在完全不同的数据库之间进行通信的复杂应用程序.开发人员可以使用 Service Broker 轻松生成可靠的分布式应用程序.使用 Service Broker 的应用程序开发人员无需编写复杂的内部通信和消息,即可跨多个数据库分发数据工作负荷.因为 Service Broker 会处理会话上下文中的通信

在SQL Server 2014里可更新的列存储索引 (Updateable Column Store Indexes)

传统的关系数据库服务引擎往往并不是对超大量数据进行分析计算的最佳平台,为此,SQL Server中开发了分析服务引擎去对大笔数据进行分析计算.当然,对于数据的存放平台SQL Server数据库引擎而言,也是需要强大的数据处理能力的. 在SQL Server 2012时,SQL Server 引入了列存储索引,用以显著提供高传统数据仓库类型语句的性能,并在SQL Server 2014中做了进一步加强.本文将在对SQL Server 2012列存储索引简单介绍的基础上,进一步解释SQL Serve

SQL Server 变更数据捕获(CDC)

原文:SQL Server 变更数据捕获(CDC) 标签:SQL SERVER/MSSQL SERVER/数据库/DBA/字段/对象更改 概述 变更数据捕获用于捕获应用到 SQL Server 表中的插入.更新和删除活动,并以易于使用的关系格式提供这些变更的详细信息.变更数据捕获所使用的更改表中包含镜像所跟踪源表列结构的列,同时还包含了解所发生的变更所需的元数据. 对表开启了变更捕获之后,对该表的所有DML和DDL操作都会被记录,有助于跟踪表的变化. 测试环境: SQL SERVER 2008