重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
IFNOTEXISTS。
成都创新互联是一家专注于成都网站建设、成都做网站与策划设计,贵池网站建设哪家好?成都创新互联做网站,专注于网站建设十多年,网设计领域的专业建站公司;建站业务涵盖:贵池等地区。贵池做网站价格咨询:13518219792
根据查询相关公开信息显示,mysql中,指定要创建的数据不存在,必须使用IFNOTEXISTS关键字,否则将产生错误。
MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,属于Oracle旗下产品。
可能是你的INI设置不对,请用下面的命令指定系统默认的INI文件试试看:
e:\mysql5.0.51a\bin\mysqld.exe --defaults-file=e:\mysql5.0.51a\my.ini MySQL注意里面的e:\mysql5.0.51a是我机器的路径,请修改你机器上MYSQL的安装路径。
你把这张表的 date和ip字段联合设置为唯一索引。
ALTER TABLE `log` ADD UNIQUE `date_ip` (`date`, `ip`);
然后你就大胆的insert数据吧。有重复的就报错插入失败。然后接着插入下一条就OK。
事情的起因是这样的,在练手项目的时候,表的一个关联字段并没有建立外键关系,只是名义上的外键关系,
而在修改数据的时候,考虑到安全性的问题,确保运行不会报异常的话,每次在做修改字段的时候,都需要先查
寻该字段是否存在,若不存在则需要主动添加。如以下的 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()
学而时记之,人笨只能多写啦,加油哦!!!.....