【整理】mysql一些特殊情况的处理

由于某度众所周知的举动,让我搬离写了5年的渣度空间,准备把技术性的文章定在CSDN了。这些都是文章备份。勿怪。。

鉴于最近有些抓取机器和抄袭者,把标题的【原】字都复制,我不得不声明:本文为 yukon12345原创,转载请注明出处http://blog.csdn.net/yukon12345

 

 

做个笔记

【1】联合查询时 想一次性查出全部字段,但是几个表中有 同名字段

先用*来查出所有字段,然后用as重命名相同字段。如下:

SELECT a.*,a.id as web_id , b.*,b.id as tech_id
FROM `s_website_monitor` AS a,`s_tech_info` AS b
WHERE a.id = b.monitor_id
LIMIT 0 , 30

 

2表相同字段id分别被重命名为web_id 和tech_id,同时又可以查出2表所有数据。

【2】Q:比如我有个type字段,想排序时候用type值排,但order by默认是值为doc比值为folder的数据行靠前(第一个英文字母),但如果我想让folder排在第一位如何?

来源:http://www.jb51.net/article/19527.htm

A:
select *
from `talbename`
order by `type`<>'folder',type DESC
或者(推荐
select *
from `talbename`
order by `type`='folder',type ASC

即可把值为folder的字段行排到最前。


而在mssql中(把id 为shanghai beijing的排在前2部分):

select id,name
from table
order by case when id like 'shanghai%' then 0 when id like 'beijing%' then 1 else 2 end
 【3】mysql_affected_rows() 仅仅返回的是被修改的行数。

如果最近一次操作是没有任何条件(WHERE)的 DELETE 查询,在表中所有的记录都会被删除,但本函数返回值在 4.1.2 版之前都为 0。

当使用 UPDATE 查询,MySQL 不会将原值与新值一样的列更新。这样使得 mysql_affected_rows() 函数返回值不一定就是查询条件所符合的记录数,只有真正被修改的记录数才会被返回。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值