mysql修改 *** 作之存在则修改,不存在则添加(2019-05-22)

mysql修改 *** 作之存在则修改,不存在则添加(2019-05-22),第1张

    事情的起因是这样的,在练手项目的时候,表的一个关联字段并没有建立外键关系,只是名义上的外键关系,

而在修改数据的时候,考虑到安全性的问题,确保运行不会报异常的话,每次在做修改字段的时候,都需要先查

寻该字段是否存在,若不存在则需要主动添加。如以下的 userId,是并没有外键的!

    如果每次都先查询再修改的话,是相当影响效率的,所以呢,mysql也帮我们准备好了解决方式,感谢mysql团队

    1. ** 首先,你需要一个触发条件,也就是唯一索引啦,这是必要的!!! 譬如我想我的userId不重复,又想达到该效果,就需要把该字段设置为唯一索引,譬如:

    2.  语法: duplicate key

            怎么使用已经很明显了吧 :

                insert into 表名(字段1,userId,字段3,....) values(值1,值,值3,....) 意思是,当userId不重复时,则会触发这个插入语句

                update 字段1=值1,字段2=值2 ....  就是userId的值已经存在时,则触发这个修改语句 

            那么我的语句就是:

    3. 最后

        顺带一提,可以在myBatis的xml文件中获取当前时间哦,使用  now() 

        学而时记之,人笨只能多写啦,加油哦!!!.....

首先,要为工号字段user_no建立唯一索引。

SQL语句使用REPLACE代替INSERT即可,例如:

REPLACE INTO 表名 (user_no, username, sex) values (123, 'xyz', '女')

上面语句执行时候会字段判断123的user_no是否存在,存在就替换其名字和性别,否则就插入整行。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/8006529.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存