在更新表数据的时候,我们时常需要把另外一个表的关联值的数据更新到当前表,此时就需要用到子查询了:
MS SQL Server的写法:
update child set parent_name =p.name from child c,parent p where c.parent_id=p.id
或者
update child set parent_name =(select name from parent p where p.id=parent_id)
Enjoy java, enjoy life...
Posted by 唧唧 | tags: update from
在更新表数据的时候,我们时常需要把另外一个表的关联值的数据更新到当前表,此时就需要用到子查询了:
MS SQL Server的写法:
update child set parent_name =p.name from child c,parent p where c.parent_id=p.id
或者
update child set parent_name =(select name from parent p where p.id=parent_id)
Posted by 佚名 | tags: mysql txt
1:将数据导出生成txt
mysql>select name from user into outfile 't.txt';
t.txt即是你要查询的数据文件,在mysql的安装目录下,你可以使用find . -name 't.txt',全局查询一下即可
...使用Nginx很久了,一直没有更新和升级,最近爆出低版本的nginx有安全漏洞,虽然当前版本没有受影响,但是本着追求新版和稳定的精神,今天把nginx顺利升级到了最新的1.0.6稳定版。
升级步骤:
1、下载安装包:# wget http://nginx.org/download/nginx-1.0.6.tar.gz
...Posted by 佚名 | tags: nginx server_name
看了很多nginx的配置,好像都忽略了ip直接访问web的问题,不利于SEO优化,所以我们希望可以避免直接用IP访问网站,而是域名访问,具体怎么做呢,看下面。
官方文档中提供的方法:
If you do not want to process requests with undefined “Host” header lines, you may define a default server that just drops the requests:
...Posted by 佚名 | tags: mysql timestamp datetime
MYSQL中TIMESTAMP类型的默认值
MYSQL中TIMESTAMP类型可以设定默认值,就像其他类型一样。
1、自动UPDATE 和INSERT 到当前的时间:
表:
---------------------------------
Table Create Table
------ -------------------------------------------------------------------------------------
CREATE TABLE `t1` (
`p_c` int(11) NOT NULL,
`p_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=gb2312
数据:
1 2007-10-08 11:53:35
2 2007-10-08 11:54:00
insert into t1(p_c) select 3;
update t1 set p_c = 2 where p_c = 5;
数据:
1 2007-10-08 11:53:35
5 2007-10-08 12:00:37
3 2007-10-08 12:00:37
2、自动INSERT 到当前时间,不过不自动UPDATE。
表:
---------------------------------
Table Create Table
------ ---------------------------------------------------------
CREATE TABLE `t2` (
`p_c` int(11) NOT NULL,
`p_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=gb2312
数据:
insert into t2(p_c) select 4;
update t2 set p_c = 3 where p_c = 5;
1 2007-10-08 11:53:35
2 2007-10-08 12:00:37
5 2007-10-08 12:00:37
4 2007-10-08 12:05:19
3、一个表中不能有两个字段默认值是当前时间,否则就会出错。不过其他的可以。
表:
---------------------------------
Table Create Table
------ ---------------------------------------------------------------
CREATE TABLE `t1` (
`p_c` int(11) NOT NULL,
`p_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`p_timew2` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00'
) ENGINE=InnoDB DEFAULT CHARSET=gb2312
数据:
1 2007-10-08 11:53:35 0000-00-00 00:00:00
2 2007-10-08 12:00:37 0000-00-00 00:00:00
3 2007-10-08 12:00:37 0000-00-00 00:00:00
4 2007-10-08 12:05:19 0000-00-00 00:00:00
Posted by 佚名 | tags: SQLServer update 锁
SELECT 语句中“加锁选项”的功能说明
SQL Server提供了强大而完备的锁机制来帮助实现数据库系统的并发性和高性能。用户既能使用SQL Server的缺省设置也可以在select 语句中使用“加锁选项”来实现预期的效果。 本文介绍了SELECT语句中的各项“加锁选项”以及相应的功能说明。
功能说明:
...Posted by 唧唧 | tags: mybatis @P0 语法错误
今天在使用myBatis使用 select top #{num} * from tableName... 传递动态参数的时候会无法执行SQL语句,报错:'@P0'附近有语法错误。
最后寻得解决方法应该为:select top ${num} * from tableName...
iBatis2对应语法是:#num# 和 $num$。
...Posted by 唧唧 | tags: httpClient MultipartEntity 乱码
今天在开发腾讯微博应用的时候,发现部署在Linux上面的jsp无法同时发送图片和汉字,会出现鉴权失败的错误,原因是参数中的中文汉字乱码了!但是在本地winxp环境使用eclipse调试却可以正常发送!
经过调试,发现是httpClient中的MultipartEntity参数编码出现了异常,修改如下:
MultipartEntity reqEntity = new MultipartEntity();
..........
reqEntity.addPart(param[0], new StringBody(value));
改为
MultipartEntity reqEntity = new MultipartEntity();
..........
reqEntity.addPart(param[0], new StringBody(value,CharsetUtil.getCharset(chartSet)));
chartSet是一个字符串变量,指编码格式,我的值是"UTF-8"。
...Posted by 佚名 | tags: 图片延迟加载 ImageLazyLoad
Posted by 唧唧 | tags: CentOS fdisk 空间
这个是XenSystem官方的教程.但是使用的时候会出现一个问题:
vgdisplay查看物理卷组情况,可以看到我们有多少G的容量可以扩展,教程是22G,整数,但是实际应用很多都不是整数,你全部扩容的话填写XX.XXG的时候就会返回一个错误.今天给别人搞就是这样,你可以这样扩容:先扩容整数,然后会剩下XXM的可扩容空间,再次扩容,直接填写M单位。就成功了。
下面是教程:
fdisk -l
查看硬盘分区情况
df -hal
查看已划分区空间使用情况,硬盘容量为32.2G,已划分的空间为5.7G(不包含SWAP,输入free -m可以查看内存和swap使用情况)
运行效果如下图: