草庐IT

mysql - 带有子查询的 SELECT 查询中的 IF 和 CASE 语句

如果menu_items.parent不是0,则下面的查询返回NULL,这是错误的。我在这里要做的是,如果menu_items.parent行的值为0则将其作为原始值返回,但如果该值不是0然后返回值对应行的名称(varchar)。知道为什么我总是得到NULL吗?注意:所有其他选定的列都是正常的,因此查询本身没问题。谢谢示例1:SELECT......(CASEWHENmenu_items.parent='0'THENmenu_items.parentELSE(SELECTnameFROMmenu_itemsWHEREid=menu_items.parent)END)ASParentID

mySQL UPDATE value based on SELECT value of value +1 递增列值

查询:UPDATEnomineesSETvotes=(SELECTvotesFROMnomineesWHEREID=1)+1错误:Youcan'tspecifytargettable'nominees'forupdateinFROM根据错误不确定那里有什么问题,这是我第一次尝试内联列,我想你可以调用它。所以我很明显做错了什么,但不知道如何解决。 最佳答案 您的UPDATE查询缺少任何WHERE子句,因此即使MySQL允许它,结果也是找到votes值ID=1行加1,然后用结果更新表中的所有行。我怀疑这不是我们想要的行为。要增加您只需要

MYSQL SELECT WHERE LIKE WITH AES_ENCRYPT

如果字段是AES_ENCYPTED,我将如何使用WHERE和LIKE搜索执行MysqlSELECT?例子:SELECTAES_DECRYPT(place,'"+salt+"'),AES_DECRYPT(web_address,'"+salt+"')FROMaccessWHEREplace=LIKE'%(AES_ENCRYPT('"+searchStr+"','"+salt+"'))',%')基本上,在$searchStr的两端使用LIKE通配符对加密列执行搜索 最佳答案 如果不先解密加密列,则无法搜索它。您需要执行WHEREAES_

mysql - SQL Select使一个值只出现一次

对于那些在这个推特克隆过程中一直帮助我的人,谢谢你们!!在您的帮助下,我已经成功完成了大部分工作,现在终于到了关注者功能的最后一步。现在,我有一个包含以下字段的数据集:用户名、推文、日期数据示例如下:UsernameTweetDatekennyhi!2011-10-0719:07:00stanhello2011-10-0518:07:00kennylookslikerain2011-10-0517:07:00stanhello2011-10-0514:07:00cartmanauthoritay!2010-10-0514:07:00我一直在研究SQL语句,该语句会生成一个数据集,其中每

mysql - MySQL 中的 COALESCE 中的 SELECT

我正在尝试在MySQL中执行以下操作:UPDATExSETy=COALESCE(SELECTzFROMtableWHEREa=bANDc=dANDe=fLIMIT1,SELECTzFROMtableWHEREa=bANDc=dLIMIT1,SELECTzFROMtableWHEREa=bLIMIT1);这对我来说听起来很有道理。我正在尝试用最合适的值更新一列。如果我能找到符合3个条件的记录->那就是我需要的。否则符合2个标准的记录,否则记录仅符合一个标准。我可以在3个更新查询中执行此操作,但我不明白为什么这不起作用。根据manual:COALESCE返回列表中的第一个非NULL值,如果

MYSQL - SELECT IN () ORDER BY IN ()

如果我这样选择:SELECTidFROMusersWHEREidIN(3,4,8,1);默认情况下将按此顺序选择用户1,3,4,8,我想按照输入IN()值的相同顺序选择它们:3,4,8,1这可能吗? 最佳答案 使用FIELD()为此SELECTidFROMusersWHEREidIN(3,4,8,1)orderbyfield(id,3,4,8,1) 关于MYSQL-SELECTIN()ORDERBYIN(),我们在StackOverflow上找到一个类似的问题:

PHP: Mysql ("SELECT WHERE ID NOT ")

我试图从Mysql_query中排除一个“ID”,但它仍然返回提到的ID。此ID为“21”,但查询返回“21”,这不是我想要的。我是不是在Mysql中拼错了什么?("SELECT*FROM`gallery`WHERE`gallery_id`NOTIN('$notgallery')")ordie(mysql_error());functionnot_gallery($pic){$pic=$_GET['id'];$id=explode(".",$pic);$notgallery=$id;$notg=mysql_query("SELECT*FROM`gallery`WHERE`gallery

php - MYSQL select where字段不包含某个字符串字符

我使用sql从表中选择我所有站点的URL。$sql='select*frompageswhere"myURLfield";但是我想对我的查询更具体一点。例如,我的表中有一些重复链接:about-us./about-us我不想选择./aboutus字段。有没有一种说法:select*where"myURLfield"doesnotbeginwith./或者我应该忘记它并使用PHP进行解析? 最佳答案 SELECT*FROMpagesWHEREsome_colNOTLIKE'./%';这将获取所有some_col不是以./开头的行

mysql - 为公众提供一种在数据库上运行 SELECT 查询的方法有多危险?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭9年前。Improvethisquestion假设我执行以下操作:我创建了一个MySQL数据库,并用一些数据填充它。我创建了一个MySQL用户,该用户只能访问该数据库,并且只有SELECT权限。我创建了一个网页,用户(任何用户,无需密码)可以通过该网页输入任意SQL,并且在提交表单时,脚本会尝试以我创建的MySQL用户身份运行SQL;生成的任何结果集都会显示给用户;生成的任何错误消息都会显示给用户。假设数据库不包含存储过程等,只包含表

SQL SELECT 与 m :n relationship

我在用户和标签之间有m:n关系。一个用户可以有m个标签,一个标签可以属于n个用户。表格看起来像这样:USER:IDUSER_NAMEUSER_HAS_TAG:USER_IDTAG_IDTAG:IDTAG_NAME假设我需要选择所有具有标签“apple”、“orange”和“banana”的用户。使用SQL(MySQLDB)实现此目的的最有效方法是什么? 最佳答案 SELECTu.*FROM(SELECTuser_idFROMtagtJOINuser_has_taguhtONuht.tag_id=t.idWHEREtag_nameIN