草庐IT

if-else-statement

全部标签

mysql - 使用 If 条件选择多个字段,在 mysql 中使用左连接 - 抛出错误

感谢任何帮助--1064-您的SQL语法有误;检查与您的MySQL服务器版本相对应的手册,以了解在行附近使用的正确语法'asreceiverimage,re.fNameasreceiverfName,re.lNameasreceiverlName,re.add'SELECTco.*,if((co.senderid=1),(re.imageasreceiverimage,re.fNameasreceiverfName,re.lNameasreceiverlName,re.addressasreceiverAddress,re.cityasreceivercity,re.stateasre

php - PDO : Error not caught when executing prepared statement 故障排除

这个问题在这里已经有了答案:WhydoesthisPDOstatementsilentlyfail?(1个回答)关闭1年前。我在使用PDO时遇到了问题,因为没有捕获到错误。代码很简单并且工作得很好,我将包含一个示例以避免混淆:$sql='INSERTINTOsomedatetable(something)VALUES(:something)ONDUPLICATEKEYUPDATEsomething=:something';$values=array(":something"=>$something);try{$stmt=$dbh->prepare($sql);$stmt->execut

MYSQL Inner Join if 语句

我正在尝试将3个表连接在一起,但使用IF语句仅运行特定查询我有一个用户表、客户表和员工表。下面的第一部分有效:SELECTuser.`userID`,`username`,`user`.email,`registeredBy`,`registeredDate`,CONCAT(staff.firstName,'',staff.lastName)ASstaffNameFROM`user`INNERJOIN`level`ON`user`.levelID=`level`.levelIDINNERJOIN`staff`ON`user`.registeredBy=`staff`.userID我需要

带有 IF 语句的 MySQL VIEW

我在mMySQL中有两个表:-news(news_id,news_titel,news_file_id)-files(file_id,file_path,file_name)我想用这些列创建MySQLVIEW:-news_view(news_id,news_title,news_file_id,news_file_path)但是,如果news_file_id>0那么,我得到文件的路径(file_path+file_name)否则news_file_path应该是0我该如何做这个VIEW?编辑但是如果我想再添加两个表怎么办:categories(category_id,category_

java - Statement 中的 executeUpdate(String, int) 方法始终返回 1

谁能告诉我为什么下面的方法(executeUpdate)总是返回1,即使我已指定返回其中生成的key?我想在generatedKey变量中获取生成的key。它适用于使用getGeneratedKeys的PreparedStatement,但我想使用Statement。publicinttestQuery(Connectioncon){intgeneratedKey=0;try{Statementstatement=con.createStatement();generatedKey=statement.executeUpdate("INSERTINTOprofile(fullname)

MySQL 触发器使用 : if column is null set other column null

如何使用触发器在MySQL中实现以下内容:当某些列的值为空时->将其他列值设置为空和当某些列的值不为null时->将其他列值设置为null表定义:CREATETABLEvariations(idint(10)NOTNULL,x1int(10)NOTNULL,x2int(10),x1_option1BOOL,x2_option1BOOL,x1_option2varchar(10),x2_option2varchar(10));想法是我们有2个元素,x1和x2。x1是必需的,而x2是可选的,可以为空。x1和x2都有两个选项:x1_option1、x2_option1、x1_option2和

php - Laravel SQLSTATE[HY000] : General error: 1615 Prepared statement needs to be re-prepared

我最近启动了我的基于Laravel的网站,我没有遇到任何问题,但是40分钟前当我检查它时我得到了这个错误:SQLSTATE[HY000]:Generalerror:1615Preparedstatementneedstobere-prepared(SQL:select*from`users`where`id`=1and`remember_token`=mfjLlbv3fR49TYGAqmUgBSqVVAKmoHhq26ws8rojuXxee5qWcvHrcdoTXs6Wlimit1)为什么会这样?一切都很好,现在突然间我什么也做不了了。 最佳答案

mysql - 德鲁巴 : How can I know if the db is mysql or postgres

我有一个复杂的查询,因为我需要我的模块同时适用于mysql和postgres,所以我需要编写它的两个版本。不幸的是,我不知道如何检查我使用的数据库是mysql还是postgres,以了解使用哪个查询。你知道一个函数是否可以返回这个值吗? 最佳答案 正如@kordirko所说,一种选择是查询服务器版本:SELECTversion();将在MySQL和PostgreSQL上工作,但不是most。otherdatabaseengines.虽然解析版本字符串总是有点脆弱,MySQL只返回一个版本号,如5.5.32而PostgreSQL返回类

mysql - SQL优化: Four statements into one

我有一个包含一些列的表,其中一个包含我用来运行的时间戳目前有四个单选来计算一个SELECTcount()并返回信息像“超过1周的n行”,“超过2周的n行”,...如何将四个查询转化为一个有望实现的SQL-Statement跑得更快?语句如下所示:SELECTcount(foo_pk)ASoneweekFROMfooWHEREfoo_timstamp 最佳答案 我不是MySql的人,但在SQLServer中我会像这样使用CASE语句:SELECTSUM(CASEWHENfoo_timstamp似乎这个语句在MySql中也可用,所以虽然

mysql - 如何进行 "inserts if not exists"的 MySQL 插入查询?

INSERTINTOtable('name')VALUES("abc")IFNOTEXISTSname='abc'如果名称列中不存在abc,则插入它。我该如何编写该查询? 最佳答案 INSERTIGNOREINTOtable(name)VALUES('abc')如果该值已经存在,这将忽略该值。正如pjotr所说,这将要求name是一个唯一索引。Source 关于mysql-如何进行"insertsifnotexists"的MySQL插入查询?,我们在StackOverflow上找到一个类