草庐IT

if-else-statement

全部标签

MySQL 用 IF 语句连接多个字段

我正在尝试做一些我认为很简单的事情,但我被卡住了。我基本上想从多个地址部分字段创建一个地址字段,使用IF语句使用地址或交集。这是我制作该字段的声明:CONCAT(loc_name,'\n',IF(add_number!=''&&add_street!='')THENCONCAT(add_number,'',add_street,'\n')ELSEIF(x_street_1!=''&&x_street_2!='')THENCONCAT(x_street_1,'&',x_street_2,'\n')ENDIF,city,',',IF(state!='')THENCONCAT(sta

php - IF EXISTS UPDATE ELSE INSERT 语法错误

我正在使用由我的ISP托管的MySQL5.1。这是我的查询mysql_query("IFEXISTS(SELECT*FROMlicensing_activeWHEREtitle_1='$title_1')THENBEGINUPDATElicensing_activeSETtime='$time'WHEREtitle_1='$title_1')ENDELSEBEGININSERTINTOlicensing_active(title_1)VALUES('$title_1')END")ordie(mysql_error());错误是...checkthemanualthatcorrespon

mysql - 谷歌云 SQL : Unable to execute statement

我的谷歌云sql表目前有1126571行,每天至少增加3万行。执行查询时:selectcount(distinctsno)astotfromvisitssql提示会产生如下错误:Error0:Unabletoexecutestatement.CloudSQLQuery是否有责任超过60秒的异常。当表变大时如何解决这个问题。 最佳答案 将表格分成两个表格。一个用于接收新访问……交易……一个用于报告。索引报表。定期传输和清除数据。事务表将保持相对较小,因此计数会很快。有了索引,报表统计起来会很快。

mysql - 如何从 phpMyAdmin 4 中的导出中删除 "CREATE DATABASE IF NOT EXISTS"语句?

我使用的是phpMyAdmin4.0.2,似乎在对整个数据库进行导出时,默认情况下它会在导出SQL的开头添加语句“CREATEDATABASEIFNOTEXISTS”。我找不到配置选项或任何选项来禁用它...那么有没有办法禁用它并且默认情况下在我的导出中没有该语句? 最佳答案 此行为在版本3中默认情况下不会发生。一个快速修复,实际上是一个hack,因此不是理想的解决方案,是编辑位于libraries/plugins/export/ExportSql.class.php中的导出类文件并强制通过在它们之前添加“--”来注释掉CREATE

java - 保留 Prepared Statements 成本高吗? (Java 和 JDBC)

我想弄清楚在创建数据库连接时缓存所有语句对我来说是否有效,或者我是否应该只创建最常用的语句并在需要时创建其他语句。.在所有客户端线程中创建所有语句似乎很愚蠢。任何反馈将不胜感激。 最佳答案 一个有点像样的数据库已经缓存了它们。只需在您实际需要执行查询时触发Connection#prepareStatement()即可。您实际上也别无选择,因为连接、语句和结果集应该在最短范围内获取和关闭,即在同一try-finallyblock中执行查询时的方法。依次打开和关闭每个查询的连接可能确实很昂贵。一个常见的解决方案是使用connection

mysql - MySQL 触发器中的 IF 语句

我需要一些帮助来完成这个触发器。我试了一下,但我不知道出了什么问题。这是代码:delimiter$$CREATETRIGGERattendance_clockAFTERINSERTONalldevicerecordFOREACHROWBEGINDECLAREcheckINT;SETcheck=1;IF(check%2==0)THENINSERTintodesignation(emp_id,clock_date,clock_in)VALUES(new.id,new.time,new.time);check=check+1;ELSEUPDATEdesignationSETclock_out

mysql - H2 中的 IF 函数用于 MySQL 兼容性

我正在使用H2(具有MySQL兼容模式)针对我们使用MySQL的软件编写一些自动化测试。不幸的是,H2似乎没有我们许多查询使用的IF函数。除了用DECODE之类的东西重写我们的应用程序查询之外,它们是创建if函数的好方法吗,比如说作为别名?我得到的错误:WARNING:Failedtoexecute:SELECTIF(true,'TRUE!!','FALSE!!!')because:Function"IF"notfound;SQLstatement: 最佳答案 我刚遇到同样的问题,我用CASE/WHEN/THENSQL语句解决了它。

mysql - If then join else 其他加入

我正在尝试找出连接多个表的查询(cca8)。有一次我需要加入两个表中的一个。所以让我们调用结果直到A点。现在我想加入B或C。当我使用B时,我得到更小的结果,或者没有结果。如果加入后没有结果,我需要改为加入C。总而言之,(A,C)的交集给出了更大的结果,如果(A,B)的交集为空,我只想加入C。在mysql中用什么方式可以更流畅地表达这一点? 最佳答案 仅当第一个连接主键为空时才连接:SELECT*FROMALEFTJOINBONA.id=B.idLEFTJOINCONB.idISNULLANDA.id=C.id

php - mysql - if value = 0 缩短 where 语句

我想知道是否可以根据某些变量值以优雅的方式缩短查询。例如:我有一个名为$var=0的值,我想发送一个如下所示的查询:$query="SELECTid,name,quantityFROMproductsWHEREquantity>100";但是如果$var!=1我想发送这样的查询:$query="SELECTid,name,quantityFROMproductsWHEREquantity>100ANDid='$var'";因此,根据$var的值,我想执行其中一个查询。它们仅与最后一个表达式不同。我找到了两种可能的解决方案,但它们并不优雅,我根本不喜欢它们。一个是用php制作的:if($

mysql - 为什么 Apache 提示我的 mod_perl 程序 "disconnect invalidates 1 active statement handle"?

disconnectinvalidates1activestatementhandle(eitherdestroystatementhandlesorcallfinishonthembeforedisconnecting)以下从MySQL抓取数据的代码成功执行,但会导致Apache在其错误日志中生成上述消息:my$driver="mysql";my$server="localhost:3306";my$database="test";my$url="DBI:$driver:$database:$server";my$user="apache";my$password="";#Conne