草庐IT

INSERT-SELECT

全部标签

php - MySQL SELECT 树父 ID

如何对SELECT语句的记录进行排序,使它们代表一棵有效的树?我的所有尝试都显示子节点嵌套在错误的父节点下。实现此排序的最可靠方法是什么?数据IDParentIDTitle--------------------------------------------0NULLRoot10NodeA20NodeB31Sub-NodeC41Sub-NodeD53Sub-NodeE输出IDParentIDTitle--------------------------------------------0NULLRoot10NodeA31Sub-NodeC53Sub-NodeE41Sub-NodeD

java - 带有 where 子句的 SQL select 语句

如果没有硬编码值,我将如何编写此sql语句?resultSet=statement.executeQuery("select*frommyDatabase.myTablewherename='john'");//thisworks宁愿有这样的东西:Stringname="john";resultSet=statement.executeQuery("select*frommyDatabase.myTablewherename="+name);//Unknowncolumn'john'in'whereclause'at//sun.reflect.NativeConstructorAcce

sql - 在 MySQL 中盲目使用 INSERT 有缺点吗?

我经常想向表中添加一个值,或者在其键已存在时更新该值。这可以通过多种方式实现,假设在示例中的“user_id”和“pref_key”列上设置了主键或唯一键:1。盲插入,如果收到重复键错误则更新://TrytoinsertasanewvalueINSERTINTOmy_prefs(user_id,pref_key,pref_value)VALUES(1234,'show_help','true');//Ifaduplicate-keyerroroccursrunanupdatequeryUPDATEmy_prefsSETpref_value='true'WHEREuser_id=1234

sql - 当只需要 `field` 时,什么更快 SELECT * 或 SELECT `field`

我不想在这里假设,我之前被咬过/被证明是错误的。任何帮助将不胜感激 最佳答案 SELECT字段比select*更快。因为如果您的表中有超过1个字段/列,则选择*将返回所有这些,这需要网络带宽和数据库的更多工作获取所有其他字段。但如果只需要一个字段/列,数据库负载较小,不需要传输不需要的信息,从而不必要地占用带宽资源。 关于sql-当只需要`field`时,什么更快SELECT*或SELECT`field`,我们在StackOverflow上找到一个类似的问题:

zend-framework - 多重/嵌套 "select where"与 Zend_Db_Select

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:GroupingWHEREclauseswithZend_Db_Table_Abstract我需要创建这样的东西:selectnamefromtablewhereactive=1AND(nameLIKE'bla'ORdescriptionLIKE'bla')第一部分很简单:$sqlcmd=$db->select()->from("table","name")->where("active=?",1)现在是棘手的部分。我怎样才能嵌套?我知道我可以写->orWhere("nameLIKE?ORdescriptio

mysql insert on duplicate key related deadlock

在日志中我有与此查询相关的死锁:INSERTINTO`driver_state`(id,state)VALUES('83799','waiting')ONDUPLICATEKEYUPDATEstate=IF(state='active',state,VALUES(state));确切错误:ER_LOCK_DEADLOCK:Deadlockfoundwhentryingtogetlock;tryrestartingtransaction我已尝试推理并理解此查询如何可能导致死锁,但还没有深入了解。表结构CREATETABLEIFNOTEXISTS`driver_state`(`id`int

MySQL Update 未更新任何内容,但 Select 返回结果

这真的让我自己和我的经理感到困惑。有两个表:TableA(idVARCHAR(15)NOTNULL,categoryVARCHAR(35)DEFAULT'',fooVARCHAR(3)DEFAULT'',INDEX(category),INDEX(foo))ENGINE=InnoDBDEFAULTCHARSET=utf8;TableB(idVARCHAR(15),INDEX(id))ENGINE=InnoDBDEFAULTCHARSET=utf8;然后我运行需要更新的选择:SELECTA.foo,A.id,B.idFROMTableAALEFTJOINTableBBONA.id=B.i

mySQL 5.0.45 LAST_INSERT_ID() 和大于 signed int 的值

我正在尝试在一个自动递增的索引上使用LAST_INSERT_ID,该索引已经超过了带符号的int值2147483647。此列是一个无符号的int。但是,LAST_INSERT_ID()返回无效的负值。研究这个,我发现了一些评论表明这是这个功能的本质。但我找不到它的正式记录。有一些可以追溯到几年前的错误报告仍然开放。所以我需要知道这是否真的是一个已知错误和/或我是否可以对此做些什么。我需要将mySQL升级到更新的版本吗? 最佳答案 我不是100%确定这一点,但由于您只需要ID而不是对其进行任何数学运算,您是否可以将其作为字符串处理并让

php - 连接到数据库,包括 "mysql_select"转换为 pdo

这是我连接到sqlserver的页面Siguraicompletatuserul,parolasinumelebazeidedate?");?>我试过向下代码,但我收到“未选择数据库”:getMessage();}?>PDO类(class)完全让我丧命...... 最佳答案 在$dsn='mysql:dbname=test;host=localhost';参数顺序错误订单在documentation是$dbn=newPDO('mysql:host=$host;dbname=$bazadatet',$user,$parola);在哪里

mysql - SELECT 查询偶尔会执行很长时间

我的MySQLInnoDB数据库中有一个非常奇怪的问题。我有以下查询:SELECTDISTINCTp.idProjectASidProject,p.nameASname,0ASisConfirmFROMProjectspJOINteam_projecttpON(p.idProject=tp.idProject)JOINprojtimesptON(p.idProject=pt.idProject)JOINCalledTimesTblcttON(p.idProject=ctt.idProject)LEFTJOINNextCallsncON(ctt.idCustomer=nc.idCusto