草庐IT

category_Table

全部标签

mysql - 如果 table1 具有值 X,则 SQL 更新 table2?

IFEXISTS(SELECT*FROMtable1WHEREgroup_id='8')UPDATEtable2SET(...)WHEREusertype='numbereight'我做错了什么?我需要根据group_id更新用户类型 最佳答案 你可以试试这样的:UPDATEtable2SET(...)WHEREusertype='numbereight'ANDEXIST(SELECT*FROMtable1WHEREgroup_id='8'); 关于mysql-如果table1具有值X,

mysql - 统计table2的行不包括mysql中table1的所有行

我有表1,它表示具有列ItemID和列ItemInfo的项目。然后,我有表2,它表示具有列ItemID(父级)、列SubItemID和列SubItemInfo的子项。我正在尝试通过以下方式获取每个项目的所有子项目的数量:selectitems.itemID,count(*)ascountfromitems,subItemswheresubItems.itemID=items.itemIDgroupbyitemID除了没有子项目的项目外,它工作正常。不是返回子项计数为0的项行,而是该行根本不存在。是否有一种有效的方法来强制选择第一个表(项目)中的所有行? 最佳

mysql - 通过 SHOW TABLE STAUS 查询选择特定列

我必须通过SHOWTABLESTATUS查询选择特定的列。现在看起来像:SHOWTABLESTATUSIN`myTableName`WHERE`NAME`LIKE'%name_substring%';...并返回所有列。有什么方法可以达到这个目标吗? 最佳答案 您可以查询information_schema.TABLES以获得特定的列。查看演示:http://sqlfiddle.com/#!2/38506/3SELECT*FROMinformation_schema.TABLESWHERETABLE_NAME='myTableNam

mysql - 无法创建表 '<table name>'(错误号 : 22)

我得到以下信息:Can'tcreatetable'tempabcd'(errno:22)此错误发生在以下查询(简化的)运行数千次之后DROPTABLEIFEXISTStempabcd;CREATETEMPORARYTABLEtempabcd(idint(11)NOTNULL,PRIMARYKEY(id))ENGINE=MyISAM;INSERTINTOtempabcdVALUES('1'),('2'),('3');SelectidfromtempabcdUnionSelectidfromothertableDROPTABLEIFEXISTStempabcd;查询一开始运行良好,但由于某

PHP/MySQL Order by column in a different table

我正在运行这个SQL代码:sql="SELECT*FROMchannel_did";$rs=mysql_query($sql,$pbx01_conn)ordie(mysql_error());$counter=0;$display='';while($result=mysql_fetch_array($rs)){$sql2="SELECT*fromclientwhereid='".$result["client_id"]."'";$rs2=mysql_query($sql2,$pbx01_conn)ordie(mysql_error());$result2=mysql_fetch_ar

mysql - 仅按特定行分组显示所有数据 : Select * from table group by column having column = 'value'

我用的是mysql。我的table看起来像这样:最后我尝试使用这个查询SELECT*FROMmovieGROUPBY`group`HAVINGcateogry='TV'我希望此查询结果为:显示除GROUPBYTV类别之外的所有内容,其中category='TV'我想要这个结果但是我的查询给了我这个结果(HAVING在查询工作中作为WHEREclouse)如果我使用这个查询SELECT*FROMmovieGROUPBY`group`它给了我这个结果我想要->QUERY->GROUPBYgroup(ID号9和ID1、2、3视为不同的组名)IFgrouphasallsamevaluesBUT

mysql - 我可以将 SHOW CREATE TABLE tablename 的输出存储到变量中吗?

我可以将SHOWCREATETABLEtablename的输出存储到变量中吗?如果可能,我该怎么做? 最佳答案 这是不可能的。虽然返回值看起来像一个标准数据集,但SQL解析器不允许在这样的标准查询中使用它:SELECT`CreateTable`INTO@fooFROM(SHOWCREATETABLEbar);--resultsinERROR1064near'SHOWCREATETABLEbar'您可以查询information_schema数据库来获取您想要的信息。这将提供类似的输出:SELECTCONCAT('CREATETABL

mysql - MySQL 5.7.9 是否删除了对 ALTER IGNORE TABLE 的支持?

考虑以下查询:ALTERIGNORETABLE`table_name`ADDUNIQUE`some_id`(`some_id`);这在MySQL5.6.25中工作正常,但在5.7.9中它给出了语法错误。旁注:MysQL5.7的GA是我听说过的最安静的版本升级吗(或者不是,视情况而定)?无论如何,在5.7.9中我得到以下错误:Errorinquery(1064):Syntaxerrornear'IGNORETABLE...etc我希望是我混淆了语法,在这种情况下,我很抱歉浪费了你的时间。本质上:我很感谢你的帮助。谢谢。 最佳答案 检查

mysql - 错误 3098 (HY000) : The table does not comply with the requirements by an external plugin

设置:mastermastermaster中的三个mysql组复制节点。一切正常。我可以添加用户/数据库并插入/更新数据。每个节点都绑定(bind)到一个私有(private)IP地址。我创建了一个bash脚本来连接到mysql以删除用户。使用脚本删除数据库效果很好。问题:以下命令将不会运行。我可以创建用户和数据库并删除数据库,但不能删除用户。我无法判断这是复制问题还是特权问题。从mysql.user中删除user='testme123';从mysql.dbWHEREuser='testme123'中删除;如果存在“testme123”则删除用户;第1行的错误3098(HY000):该

Select * from table1 其中 JID 不在 table2 中,table2.uid 也不是 11111

我想从表一中选择所有内容,其中包含一列JID。这些是玩家可以学习的东西。但是有一个table2,其中列出了玩家已经学到的东西。所以如果JID在table2中,已经学习了,我不想从table1中选择那个。例如。表1JID标题描述排名表2JIDUserIDvalue1value2表1可能有100行,但如果表2有9行,其中一些来自表1的JID,我不想选择它们。更重要的是,它特定于表2中的用户ID。所以我需要通过JID过滤表2!=匹配表1中的JID,但仅当userID=传递的php变量时。希望这是有道理的。我不想要子查询。我认为可以在JID上使用左外连接,但我不确定如何调用USERID...帮