草庐IT

SELECT-INSERT

全部标签

mysql - INSERT IGNORE - 如何判断是否已插入?

我将需要一个SQL查询来INSERT..ONDUPLICATEKEYUPDATE(或INSERTIGNOREINTO)我的表。我需要知道是否发生了更新实际或者是否插入了新行。一个很好的引用是这个SOanswer,不幸的是,对所采取的行动没有答案。至于现在我正在使用INSERT..ONDUPLICATEKEYUPDATE:INSERTINTO`tbl`(`CLIENT_ID`,`COMP_ID`,`DATETIME`)VALUES(12334,32,NOW())ONDUPLICATEKEYUPDATE`COMP_ID`=VALUES(`COMP_ID`),`DATETIME`=VALUE

MySQL在子句 "WHERE IN (SELECT ...)"中手动添加id

我有这个问题:SELECT*fromt1WHEREchild_idIN(SELECTchild_idfromt2WHEREparent_id='1234')ORparent_id='1234'有没有可能做这样的事情:SELECT*fromt1WHEREchild_idIN((SELECTchild_idfromt2WHEREparent_id='1234')UNION'5678')UNION关键字给出错误消息,我尝试在google上搜索,但当您搜索“MysqlconcatIN”时很难找到内容我希望我的问题很清楚 最佳答案 是的,像这

Python mysql 连接器编写的 INSERT 语句截断文本

我一直在尝试使用pythonsmysql.connector将一个大字符串插入到MySQL数据库中。我遇到的问题是,在使用准备好的语句时,长字符串在某些时候会被截断。我目前正在使用MySQL.com上提供的MySQLConnector/Python。我使用以下代码复制了我遇到的问题。db=mysql.connector.connect(**creditials)cursor=db.cursor()value=[]forxinrange(0,2000):value.append(str(x+1))value="".join(value)cursor.execute("""CREATETA

php - 即使在选择查询之后,mysqli_insert_id 仍然返回一个值

我有一个函数没有按照我的预期运行。它的目的是为选择查询返回一个行数组,或者为插入查询返回插入id。由于某种原因,如果插入查询后跟选择查询,则测试查询是否为插入的函数部分会失败,因为inesrt_id仍会返回插入行的ID。我可以围绕这个进行编程,但我真的很想了解为什么会这样。我的理解是,如果最近的查询是select,那么应该没有insertid。我是mysqli的新手,所以当我认为它确实如此时,查询可能并没有真正“结束”,所以新的选择算作同一查询的一部分?如果我在每个查询上重新创建连接,我可以让它正常工作,但这不切实际。这是查询功能的代码。publicfunction__construc

mysql - SQL UPDATE如何匹配比类似SELECT更多的行?

下面的SELECT查询和UPDATE查询具有相同的FROM子句和WHERE子句。因此,我希望SELECT查询返回与UPDATE查询匹配和影响的相同行数,但正如所见,情况并非如此。我不知道它是否相关,但正如更新所见,我试图将记录的用户名和电子邮件保存在另一列中,但正如上次查询所见,我没有保存电子邮件,只是用户名。为什么会这样?mysql>SELECTp.old_username,p.username,p.old_email,u.email->FROMusersuINNERJOINpeoplepONp.id=u.idINNERJOINentitieseONe.id=p.id->WHEREu

php - INSERT INTO,ON DUPLICATE KEY,WHERE语法错误

这个问题已经有了答案:MySQLONDUPLICATEUPDATEwithWHERE?1个答案这是我的代码:INSERTINTOdrivers(name,comments,start_time,end_time)VALUES('$name','$comment','$start','$end')ONDUPLICATEKEYUPDATEcomments='$comment',start_time='$start',end_time='$end'WHEREname='$name'然后我得到这个错误:错误:您的sql语法有错误;请检查与mysql服务器版本相对应的手册,在第1行的“where

MySQL - SELECT 查询 - 最旧和最年轻的日期

我必须构建一个SQLSELECT查询。表结构如下:[ID][PHONE][description][DATE][1][600898367][main][2016-01-23][2][600898367][][2016-01-24][3][600898367][][2016-01-26][4][600898367][][2016-01-28][5][662349093][main][2016-01-10][6][662349093][][2016-01-21][7][662349093][][2016-01-30][8][662349093][][2016-01-31]这里有不同的记录分

mysql - 组合两个按日期分组的 select 语句,返回两列数据

这似乎是一项简单的任务,但我的基本sql知识让我失望了,因为我还在学习。基本上,我正在尝试结合:SELECTDATE(created)DATE,COUNT(DISTINCTcreated)newpostFROMsurveysWHEREcreated>=Last_day(CURRENT_DATE)+INTERVAL1DAY-INTERVAL1MONTHANDcreated和SELECTDATE(TIMESTAMP)DATE,subsFROMtrafficstatsWHERETIMESTAMP>=LAST_DAY(CURRENT_DATE)+INTERVAL1DAY-INTERVAL1MO

java - INSERT..RETURNING 在 JOOQ 中不起作用

我有一个MariaDB数据库,我想在我的表users中插入一行。它有一个生成的id,我想在插入后获取它。我看过this但它对我不起作用:publicIntegeraddNewUser(Stringname){Recordrecord=context.insertInto(table("users"),field("name")).values(name).returning(field("id")).fetchOne();returnrecord.into(Integer.class);}插入了新行,但record始终为null。我没有使用JOOQ代码生成。

java - 安卓 Volley : select data from MySQL database by id specified by user

我正在使用Volley编写一个简单的Android应用程序。我想知道如何通过ID从MySQL数据库中选择名字和姓氏,哪个用户在应用程序中输入editText。这是我的PHP脚本:0){while($row=mysqli_fetch_assoc($result)){$response[]=$row;}}header('Content-Type:application/json');echojson_encode(array("users"=>$response));mysqli_close($connect);?>如果我在代码中指定了ID,它会返回一个JSON格式的数据,这是我需要的,所