mysql存储过程中的select into与局部变量的问题
今天解决了存储过程中的select into与局部变量的问题,原来存储过程大概这样:
|
|
结果user_uid的值一直为0,确认数据表满足条件是有一条数据的。试了很多种方法才发现是into赋值的变量不能和select的字段名相同,甚至不能用declare来定义,所以最终解决是这样:
|
|
今天解决了存储过程中的select into与局部变量的问题,原来存储过程大概这样:
|
|
结果user_uid的值一直为0,确认数据表满足条件是有一条数据的。试了很多种方法才发现是into赋值的变量不能和select的字段名相同,甚至不能用declare来定义,所以最终解决是这样:
|
|
直接在mysql这个层面(例如命令行或者phpmyadmin等)管理存储过程是一个非常麻烦的事情:
例如放在项目的sql目录下:
|
|
如果项目的存储过程比较多,每次更新时都可能会变得很麻烦,所以需要统一的导入入口,例如sql目录下生成source.sql文件,内容如下:
|
|
说明:这个source文件不应该加入git版本控制中。
这样只需要在命令行中,source这个文件即可:
|
|
如果手动管理这个文件,也是挺麻烦的,可以结合laravel自动生成:
|
|
每次变化的时候,还是需要手动source一下,略麻烦。。。暂时没有更好的方式。。。
|
|
通过软删除方式删除了一个模型后,模型中的数据并不是真的从数据库被移除。而是会设定 deleted_at时间戳。要让模型使用软删除功能,只要在模型类里加入 SoftDeletingTrait 即可:
|
|
现在当您使用模型调用 delete 方法时, deleted_at字段会被更新成现在的时间戳。在查询使用软删除功能的模型时,被「删除」的模型数据不会出现在查询结果里。
|
|
默认 Eloquent 会自动维护数据库表的 created_at 和 updated_at 字段。只要把这两个「时间戳」字段加到数据库表, Eloquent 就会处理剩下的工作。
范围查询可以让您轻松的重复利用模型的查询逻辑。要设定范围查询,只要定义有 scope 前缀的模型方法:
|
|
|
|
有时您可能想要定义可接受参数的范围查询方法。只要把参数加到方法里:
|
|
使用:
|
|
如您所知,要操作多对多关联需要一个中间的数据库表。 Eloquent 提供了一些有用的方法可以和这张表互动。例如,假设 User 对象关联到很多 Role 对象。取出这些关联对象时,我们可以在关联模型上取得 pivot 数据库表的数据:
|
|
注意我们取出的每个 Role 模型对象会自动给一个 pivot 属性。这属性包含了枢纽表的模型数据,可以像一般的 Eloquent 模型一样使用。
默认 pivot 对象只会有关联键的属性。如果您想让 pivot 可以包含其他枢纽表的字段,可以在定义关联方法时指定那些字段:
|
|
其他操作:
|
|
所有 Eloquent 查询返回的数据,如果结果多于一条,不管是经由 get 方法或是 relationship,都会转换成集合对象返回。这个对象实现了 IteratorAggregate PHP 接口,所以可以像数组一般进行遍历。
|
|
待续。。。
接口涉及到三个方面:
b启动之后,会定时轮询s,获取相应的信息,并把其中的一部分反馈给j。开始时对s的返回值设计如下:
|
|
其中,preview字段是缩略图的地址,b在接收到之后,需要传递给前端的js去展示。理想情况下,这可以运行得很好,但是b端一旦固定下来,是很难改的,如果我们需要传更多的数据给j端怎么办?
READ MORE动作命令是vim操作中最重要的一些命令。不仅可以实现快速移动,还能与操作符进行配合使用。
READ MORE开发的时候,需要用到缓存,经常需要封装各种缓存类,有时为了所谓的缓存通用了,我们对redis做了统一性的封装,结果只能用到redis最基本的kv结构,大大浪费了。
所以封装redis的时候,应该恰到好处就好了,phpredis本身的api就已经挺好的了。
下面是一个封装:
|
|
:h Select-mode
:选择模式(特殊的可视模式)
<C-g>
在可视模式和选择模式之间切换(提示栏不同)
v, V, <C-v>, gv(重选上次的高亮选区),o(激活高亮选区的活动端)
.
可视模式下,.
号命令可能会有异常表现。如 vitU
与 gUit
(后者是普通模式的命令)
<C-v>3jr|
yypVr-
<C-v>jjeC{new text}<Esc>
<C-v>jj$A;
:可视模式下,a与i无法进入插入模式
u命令:撤销最新修改
一次修改:
i{some text}<Esc>
段落完时,可用:<Esc>o
例如在单词结尾处怎么删除单词:dbx,bdx,daw(最好)
<C-a>
和 <C-x>
:加与减
连续删除两个单词:d2w, 2dw, dw.(可重复,避免算错数)
操作符:c(修改),d,y,g~(反转大小写),gU,gu(小写),>(增加缩进),<(减少缩进),=(自动缩进)
READ MORE昨晚读完了这本书,作为一个浸在互联网多年的老兵,本书没有太多新鲜的观点,很多在以前都看过。不过老周把他们都总结到了一本书里,浅显易懂,可以比较系统深入的做一次复习与碰撞。对于要转型的传统企业,应该有很大的用处。
READ MORE