看到这个标题也许大家会问,这有什么好说的,调用多次INSERT语句不就可以插入多条记录了吗!但使用这种方法要增加服务器的负荷,因为,执行每一次 SQL服务器都要同样对SQL进行分析、优化等操作。
幸好MySQL提供了另一种解决方案,就是使用一条INSERT语句来插入多条记录, 这并不是标准的 SQL语法,因此只能在MySQL中使用。
INSERT INTO users(name, age)
VALUES('姚明', 25), ('比尔.盖茨', 50), ('火星人', 600);
上面的INSERT 语句向users表中连续插入了3条记录。
值得注意的是,上面的INSERT语句中的VALUES后必须每一条记录的值放到一对(…)中,中间使用","分割。假设有一个表table1
CREATE TABLE table1(n INT);
如果要向table1中插入5条记录,下面写法是错误的:
INSERT INTO table1 (i) VALUES(1,2,3,4,5);
MySQL将会抛出下面的错误
ERROR 1136: Column count doesn't match value count at row 1
而正确的写法应该是这样:
INSERT INTO t able1(i) VALUES(1),(2),(3),(4),(5);
当然,这种写法也可以省略列名,这样每一对括号里的值的数目必须一致,而且这个数目必须和列数一致。如:
INSERT INTO t able1 VALUES(1),(2),(3),(4),(5);
mysql中如何使用INSERT一次性插入多条记录
-
Vue中的scoped和scoped穿透,scoped原理
在Vue文件中的style标签上有一个特殊的属性,scoped。当一个style标签拥有scoped属性时候,它的css样式只能用于当前的Vue组件,可以使组件的样式不相互污染。如果一个项目的所有style标签都加上了scoped属性,相当于实现了样式的模块化。
-
npm下取消已发布的版本package,撤销发布
npm unpublish仅仅在发布后的24小时内有效,假如超过了24小时,则需要连续npm官方去取消发布啦。
-
laravel自定义分页LengthAwarePaginator
有时候我们使用larave提供的后台分页数据库查询,有时候限制太多,我们需要自己定制分页功能。 下面是我给大家一个例子,我们可以根据例子,制作自己的分页功能。
-
vue中使用keepAlive组件缓存遇到的坑
项目开发中在用户由分类页category进入detail需保存用户状态,查阅了Vue官网后,发现vue2.0提供了一个keep-alive组件。
-
vue缓存之keep-alive,设置想要缓存的页面
结合router,缓存部分页面
-
Vue路由开启keep-alive缓存页面
Vue路由开启keep-alive缓存页面,跳转时设置页面缓存
-
聊聊keep-alive组件的使用及其实现原理
keep-alive是Vue.js的一个内置组件。它能够不活动的组件实例保存在内存中,而不是直接将其销毁,它是一个抽象组件,不会被渲染到真实DOM中,也不会出现在父组件链中。 它提供了include与exclude两个属性,允许组件有条件地进行缓存。
-
vue----keep-alive缓存,activated,deactivated两个生命周期函数,,meta实现缓存
如果没有缓存,每点击一次导航,内容区就会创建一个组件,该组件会经历整个生命周期,每点击一次,就会创建一个组件,比较浪费性能, 这时,我们就要考虑到是否能将点击过的已创建的组件进行缓存,当再次点击已访问过的组件时,这时,就会从缓存中获取该组件,而不会重新创建,
-
前端axios下载excel(二进制),下载 带header参数
有时候后端小伙比较倔,跟个驴似的,非得让你穿header,就不给你放开公共资源,也只能自己研究前端下载怎么带header了,哎,下面就看咋带header。
-
axios(封装使用、拦截特定请求、判断所有请求加载完毕)
在浏览器中发送 XMLHttpRequests 请求 在 node.js 中发送 http请求 支持 Promise API 拦截请求和响应 转换请求和响应数据 取消请求 自动转换 JSON 数据 客户端支持保护安全免受 CSRF/XSRF(跨站请求伪造) 攻击