我的表格是这样的:table_id|letters--------|-------4|a10|b24|c78|d110|e234|ftable_id使用选项AUTO_INCREMENT。(这些值是因为我的程序中有一个奇怪的错误......不要问:-))我想用以下结果清理它:table_id|letters--------|-------1|a2|b3|c4|d5|e6|f这可能吗?有没有办法通过cronjob或其他方式自动清理它?解决方案:戈登回答的第一个解决方案确实有效。但我需要添加一些代码,因为auto_increment不想自动重置。最终的解决方案是:SET@rn:=0;UPDA
我目前有一个与另一个模型关联的图像链接表,如下所示+----+-------------+----------------+|id|property_id|url|+----+-------------+----------------+|1|2|/example.jpg||2|7|/example-2.jpg||3|5|/example-3.jpg|+----+-------------+----------------+我想在表格中添加一列来对图像进行如下排序+----+-------------+----------------+------------+|id|property
这应该很简单,但我一直坚持下去,在这里找不到答案。我想计算一个表中与给定user_id匹配的记录数,如果该user_id存在于另一个表中,否则返回-1。类似于:SELECTCOUNT(*)FROMtable_1WHEREuser_id=(IFEXISTStable_2.user_id='22'),ELSE-1;总而言之,如果table_2包含一个user_id为22,则返回table_1中带有user_id为22,否则返回-1。请问我该怎么做?(注意。澄清一下,user_id不是两个表中的主键)编辑:添加表格示例:table_1---------------------user_id|
我有两个MySQL表,两者之间的主要关系是一对多。我还需要在parent_table中与child_table中的主要记录的ID建立一对一的关系。你可以把它想象成一个父亲有很多child,但有一个child是他最喜欢的;P。是否可以设置一个数据库约束,以便只有当child是parent的child时,parent才能拥有child的ID?parent_table(One)id:PrimaryKeyprimary_child_id:{IDfromchildtable}child_table(Many)id:PrimaryKeyparent_table:{IDfromparenttable
我想将行从一个MySQL表复制到另一个MySQL表,同时随机化两个字段的顺序,即我想获取字段为id的行,a,b来自table1并将它们插入table2,但交换a和b在随机行上。这是我尝试过的:INSERTINTOtable2(id,a,b)SELECTid,IF(@r=RAND()我原以为这会为每一行生成一个随机数,但实际上它只是为每个查询生成一个随机数,所以它要么是a,b用于所有行,要么是b,a用于所有行。我需要更改什么?P.S:我使用变量是因为调用rand()在两个IF中都会生成两个单独的数字,我可以获得相同的字段两次。有没有办法在没有变量的情况下做到这一点?
我是sql新手。我有三个表,我想UNION前两个表,然后OUTERJOIN第三个表的结果,只选择所需的日期。我已经做了UNION但是我不知道OUTERJOIN会怎么进来。这些是我的表格:TABLE_1|ID|Name|-------------------|1|John||2|Peter|TABLE_2|ID|Name|-------------------|3|Anne||4|May|TABLE_3|ID|Name|Date|--------------------------------|2|Peter|2019-02-13||3|Anne|2019-02-12||4|May|20
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭3年前。Improvethisquestion我不确定标题问题。只是为了详细说明。我有表Users和列:姓名(示例值:“Meg”、“Sam”等)类型(示例值:“Admin”、“Operator”、“Maintainer”)图片(示例值:“12344.jpg”等)等等有人告诉我,我必须创建一个带有种子值的表User_type。管理员[主ID:1]运算符(operator)[主ID:2]维护者[主ID:3]并将列Type更改为Type_i
你好,我有一个MySQL表descriptions,其中包含以下字段:lang_id、label、short_description、long_description和is_default。在我的应用程序中,产品描述是根据当前语言从数据库中获取的。目前一切正常,但我想为每个产品添加默认描述,以便在找不到所需语言的描述时,将获取默认描述。现在,我的请求是这样的:SELECTdescription.idASrecord_iddescription.label,description.short_description,description.long_descriptionFROMprod
我有一个名为tbl_groupmaster的表是用SQL创建的,如下所示:createtabletbl_groupmaster(tgm_groupidint(10)unsignedNOTNULLauto_increment,tgm_groupnamevarchar(50),tgm_groupdescriptionvarchar(50),PRIMARYKEY(tgm_groupid))我正在创建另一个名为tbl_groupmanager的表,使用外键关系:createtabletbl_groupmanager(tgmgr_groupmangeridint(10)NOTNULL,tgm_g
我看到有些人是这样加入的SELECT*FROMtable1JOINtable2ONtable1_id=table2_id有些人这样做的地方SELECT*FROMtable1WHEREtable1.table1_id=tabl2.table2_id;有什么区别,什么更有效率和有益 最佳答案 避免隐式连接的一个原因是它们很容易出错并导致意外的交叉连接。如果您需要使用外部连接而不是内部连接,您也会遇到很多问题。此外,许多使用隐式连接的人似乎并不真正了解连接的作用,因此经常创建看似有效但不正确的查询。由于透彻理解联接是任何编写SQL代码的人