草庐IT

case-statement

全部标签

php - Laravel DB::statement CREATE DATABASE 无法添加参数(准备语句?)

我正在使用Laravel5.3PHP框架,我需要有关如何使用DB::statement方法创建数据库的额外指导,我可以像这样简单地做,但我知道SQL注入(inject)的可能性:DB::statement('CREATEDATABASEnew_database_name');但是我想做这样的事情:DB::statement('CREATEDATABASE:db_name',['db_name'=>'new_database_name']);我不确定为什么第二个示例不起作用。我一直在阅读laravel文档,这种事情适用于DB::insert、DB::select,但是DB::statem

mysql - 如何将同一表中的总值显示为一行(在 case 语句中)?

我有一个问题:SELECTt.diapason,COUNT(distinctuser_id)AS'number_of_users'FROM(SELECTp.user_id,p.amountastotal,CASEwhenamount100andamount150then'>150+'ENDASdiapasonFROM(SELECTpayments.user_id,SUM(amount)ASamountFROMpaymentsINNERJOIN(SELECTDISTINCTuser_idFROMactivitywherelogin_timebetween'2018-04-12'and'2

mysql - 如何在 JOIN 表中使用 SQL CASE 和 COUNT

enterimagedescriptionhere我想使用连接查询将学生的许可状态汇总为一个结果。tbl_student和tbl_trns_clr例如,如果所有办公室状态都已清除,则备注已清除否则,如果一个办公室未清除,则备注未清除SELECT*FROM`tbl_student`asAjoin`tbl_trns_clr`asBonB.EDP=A.EDPANDCASEWHEN(SELECTCOUNT(*)FROMtbl_trns_clrWHEREB.clr_status='NotCleared'ANDA.EDP=B.EDP)=0THEN'Cleared'END)asclr_status我

java - statement.getGeneratedKeys() 和 MySQL

我已经了解到mysql中的last_insert_id不是池安全的。也就是说,如果你正在合并连接,你会弄乱insert_ids。java的statement.getGeneratedKeys()如何获取插入的key?它对游泳池安全吗? 最佳答案 我引用了MySQLConnector/J中的相关文本internals这里:Youshouldbeaware,thatattimes,itcanbetrickytousethe'SELECTLAST_INSERT_ID()'query,asthatfunction'svalueisscope

mysql - 转mysql select to delete statement - 我怎么办?

这个问题在这里已经有了答案:HowtoturnthisMySQLSELECTqueryintoaDELETEquery?(6个答案)关闭8年前。我只想从一个表中删除,但我必须根据相关表中的条件进行选择。我之前在此处找到的示例讨论了从一张表中删除的内容。如何将下面的select变成delete语句?selectr.id,r.reminder_date,c.full_name,c.companyfromremindersrleftjoinclientsconr.client_id=c.idwhere(c.full_nameisnullorc.full_name="")AND(c.compa

php - Prepared Statements 没有速度优势?

我听说如果多次执行查询,MySQL数据库的准备语句可以提高速度,我认为我在项目中有一个理想的案例。但是我运行了一些基准测试并发现了完全相反的情况。我是否使用了这些语句错误(对于准备语句来说不是理想的情况),或者它们没有我想象的那么快?情况是锦标赛结果网格。有多所学校参加了多项事件,每所学校的每项事件都有一个分数。为了获得个别学校的所有事件的分数,它需要一个带有LEFTJOIN的SQL查询,例如:SELECTe.`id`,e.`name`,c.`competing`,c.`raw`,c.`final`FROM`events`eLEFTJOIN`scores`cONe.`id`=c.`ev

php - (PHP, MySQL) Function only works on 1 of 2 cases, cannot find the difference

所以我有这个功能来搜索MySQL数据库中的条目:db->like('firstname',$search);$this->db->or_like('lastname',$search);$result=$this->db->get();//thelinefromtheerrormessagebelow}//Otherstufffor2andmorepiecesreturn$result;}?>我用过两次这个函数。案例A是用户启动的搜索并从URL(domain.com/contributors/?x=paul)获取搜索查询。这很好用。SearchContributors($x);}?>案

mysql - 由于 BINLOG_FORMAT = STATEMENT,使用语句格式写入二进制日志的不安全语句。

尝试从Django管理屏幕插入值时出现以下错误-UnsafestatementwrittentothebinarylogusingstatementformatsinceBINLOG_FORMAT=STATEMENT.Statementisunsafebecauseitaccessesanon-transactionaltableafteraccessingatransactionaltablewithinthesametransaction.RequestMethod:POSTRequestURL:**DjangoVersion:1.3.1ExceptionType:WarningE

php - CodeIgniter:Case in where 子句

我们如何在CodeIgniter的事件记录中的where子句条件中声明case?这是我要实现的查询SELECT*FROMtableWHEREidx=5342andCASEWHENreserve_date=20151130THENreserve_time>1537ELSEreserve_date>20151130END我试图在Google上搜索这个问题,但仍然找不到任何答案。 最佳答案 你可以在where子句中写下你的条件$this->db->select("*");$this->db->where("idx",5342);$this

mySQL:CASE、GROUP 和 ORDER By

我有一个简单的表,其中存储了一堆股票的市值。我正在尝试查看是否可以创建一个将返回如下内容的查询:cap_typetype_countmicro4small6large1mega2我不确定如何调整此查询以计算不同选择案例组中cap_types的数量。这是我到目前为止所拥有的:SELECTCASEWHENmarket_cap=10=50=10=50这是一些示例数据:CREATETABLE`stocks`(`id`int(11)unsignedNOTNULLAUTO_INCREMENT,`stock`varchar(4)COLLATEutf8_unicode_ciDEFAULTNULL,`m