草庐IT

case-statement

全部标签

mysql - 无法使用 "lower_case_table_names=1"创建新的 RDS MySQL 数据库实例

我正在尝试使用“lower_case_table_names=1”创建一个新的MySQLv8.0.11RDS数据库实例。数据库的创建被卡住了,在日志中我可以看到以下错误:“服务器('1')和数据字典('0')的不同lower_case_table_names设置。”有人经历过吗?请帮忙。 最佳答案 https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.KnownIssuesAndLimitations.html小写_表名由于AmazonRDS使用区分大小写的文件系统

php - SQLSTATE[HY093] : pdo statement during insert into mysql db

这是我实现插入数据库的php代码:setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);$cathy=newpatient($_POST['name'],$_POST['surname'],$_POST['address'],$_POST['birth-place'],$_POST['province'],$_POST['dt'],$_POST['gender'],$_POST['select']);$STH=$DBH->prepare("INSERTINTOusers(name,surname,address,birth_pla

MySQL CASE 和 INNER JOIN 在一起?

我有以下SQL查询。SELECTMIN(PLD.available_date)as'FROM',MAX(PLD.available_date)as'UNTIL',(CASEWHENDATEDIFF('2012-04-01','2012-04-10')=(COUNT(PLD.available_date)-1)THEN'Yes'ELSE'No'END)asisAvailable,PL.*FROM`parking_lot_dates`asPLDINNERJOINparking_lotsasPLONPLD.plid=PL.plidWHEREPLD.available_dateBETWEEN'

MySQL Statement (Group and SUM() => getting multiple "sum"result per line

我有几个表:tableuser:idfirstnamelastname1JohnDoe2JaneSkith3willSmith...tablemember:member_idmember_user_idmember_statusmember_activated_by101yespartner1111yespartner2121yespartner3132yespartner2143no----...tablepoints:points_idpoints_user_idpoints_valuepoints_date101102012-02-15112152012-02-151222020

php - 了解 PDO/Prepared Statements 如何与多种数据库类型一起工作

我最近才开始使用PDO和PreparedStatements并了解它们如何正常工作,但是我现在想要支持多个数据库并且有几个关于如何工作的问题他们工作。据我了解,如果您在PHP中使用PDO,那么它将开箱即用地支持许多不同的数据库类型;但是我想了解这是如何工作的。例如,如果我这样做:$data=array('name'=>'Cathy','addr'=>'123fakest','city'=>'fakesville');$sql=$db->("INSERTINTOfolks(name,addr,city)value(:name,:addr,:city)");$sql->execute($d

mysql - 是否可以在 MySQL 的 case when 语句中匹配多个值?

考虑示例:casewhentype='myValue'then'default'elsetypeend如何在此处列出多个值type='myValue'?而不是复制:casewhentype='myValue'then'default'whentype='other'then'default'elsetypeend 最佳答案 您可以在when子句中使用任何条件。例如,在您的情况下,您可以使用in运算符:casewhentypein('myValue','other')then'default'elsetypeend

mysql - 当 CASE 不存在时,SQL 计数返回 0

我有两个表Log和Player。Log存储每个游戏日志以及playerId和日期。球员表有球员信息,如年龄和性别等。我正在编写一个SQL存储过程,它需要两个日期,并将按两个日期之间的年龄范围和性别计算LogId和组。但是当我运行SQL过程时,当那个时期没有玩家时,它不会显示所有的Age_Range/Gender条目。我正在尝试获取所有Age_Range/Gender条目及其实际计数或count=0如果他们不'存在。我什至尝试过改变count(L.LogId)asCount,到count(IFNULL(L.LogId,0))asCount,我的SQL过程是:CREATEPROCEDURE

MySql CASE WHEN THEN 也需要 WHERE?

我写了这个查询:SELECTcola,colb,colc,CASEcolbWHEN'6kHcnevOJOSU'THEN0WHEN'g45ujP0td6nw'THEN1WHEN'v83f15lALyFs'THEN2ENDASsorFROMmytable'sor'列正确返回,问题是查询返回所有行,而不仅仅是其中一种情况与colb匹配的行!我怎样才能让它只返回匹配的行?我需要添加WHERE吗?但是我总是在没有它的情况下看到这种语法。谢谢 最佳答案 只需添加一个where子句:SELECTcola,colb,colc,(CASEcolbWH

mysql - 使用 Case 语句更新表

UPDATEcrm_accountsSETreg="Sim"WHEREage>=17ANDage0.00ANDtype="Júnior";UPDATEcrm_accountsSETreg="Não"WHEREage>=17ANDage=17ANDage该语句用于此目的,但我想简化并合并到一个案例语句中。有什么帮助吗?谢谢。 最佳答案 看起来你想要这样的东西:UPDATEcrm_accountsaSETa.reg=CASEWHENa.balance>0.00THEN'Sim'WHENa.balance=0.00THEN'Não'ELS

PHP-PDO : MySQL's logged prepared statements include PS data

我通过PDO在PHP中使用MySQL预处理语句来分离查询和数据,例如:CALL`celestial_object_view`(?,?)但是MySQL日志显示CALL`celestial_object_view`('1','1')因此,我猜想数据在发送到MySQL之前实际上已合并到查询中?对于短数据来说这不是问题,但是当插入10Mo的Blob数据时,MySQL服务器会尖叫超过max_allowed_pa​​cket。我如何让PDO/PHP/MySQL将数据与PS分开考虑,以便我可以执行包含大量数据的短PS,而不会达到max_allowed_pa​​cket?