草庐IT

condition

全部标签

mysql - MySQL 中的顺序对于谓词短路是否重要?

假设我必须运行SQL查询:SELECTdataFROMtableWHEREcondition1ANDcondition2ANDcondition3ANDcondition4这有什么不同SELECTdataFROMtableWHEREcondition3ANDcondition1ANDcondition4ANDcondition2?如果不一样:根据我自己的经验,我知道condition1比condition2便宜比condition3便宜比condition4便宜。如果不满足任何先验条件,则不应检查其余条件。由于涉及存储函数,因此优化器不会立即显而易见。我应该如何编写执行此操作的查询?

mysql - SQL where condition is only received one word from the value of the field

由于某些原因,我需要向where条件传递一个字符串而不是行的id。问题是条件不知何故只捕获了所选值的第一个词。例如,看这段代码:LoremIpsumDolor然后,通过回显last_query(),条件将显示:...WHERE`table.column`=`Lorem`...而不是整个值。这是我的查询:publicfunctionfind_id_ano_modelo($marca,$modelo,$ano,$comb){$this->db->select('ano_modelo.id')->join('modelo','modelo.id=ano_modelo.id_modelo')-

php - 未捕获的 PHP 异常 Doctrine\ORM\Query\QueryException : "[Semantical Error] line?

我正在尝试在我们的Web应用程序项目中为被拒绝的交易页面创建一个搜索字段,我正在使用symfony2框架,我被卡住了,因为有一个错误说,'[语义错误]第0行,'bJOINb.ediAk403ErrorCodes'附近的第235列:错误:类Matrix\MatrixEdiBundle\Entity\EdiTransaction没有名为edi997Details的关联'还有'严重-未捕获的PHP异常Doctrine\ORM\Query\QueryException:“[语义错误]第0行,'bJOINb.ediAk403ErrorCodes'附近的第235列:错误:类Matrix\Matri

php - Yii2 : Can I bind an array to an IN() condition in join?

我会尝试下面的查询,但不确定是否可以防止sql注入(inject)?$status=[1,2,3];$param=implode(',',$status);$rows=(new\yii\db\Query())->select('*')->from('user')->leftJoin('post',"post.user_id=user.idANDpost.some_column=$valueANDpost.statusIN($param)");->all();returnexpectedresultsbutmaybeoccursqlinjection.MyINconditionlookl

php - 要解决 "assignment in condition"使用 !==false 减慢脚本。为什么?

我正在使用zendstudio在php中进行编码。在zendstudio中,以下代码中的while...行显示assignmentincondition警告,但它工作正常并向我显示表格即刻。$oDB=newdb;print'TwitterDatabaseTables';$result=$oDB->select('SHOWTABLES');while($row=mysqli_fetch_row($result)){print$row[0].'';}但是,当我使用以下代码解决此警告时,它不会在zendstudio中显示警告,但会在很长时间后显示表格,大约20到30秒并且结果下的长空白。为什

mysql - Is condition in the JOIN clause evil SQL

在JOIN子句或WHERE子句中有SQL条件更好吗?SQL引擎是否针对这两种方式进行了优化?它取决于引擎吗?是否总是可以用WHERE子句中的条件替换JOIN子句中的条件?这里的例子来说明我的意思是条件SELECTrole_.nameFROMuser_roleINNERJOINuserONuser_role.user_id_=user.idANDuser_role.user_id_=@user_idINNERJOINroleONuser_role.role_id=role_.id对比SELECTrole_.nameFROMuser_roleINNERJOINuserONuser_role

php - 警告 : Assignment in condition

一直困扰我的一件事是,当检查我的PHP脚本是否存在问题时,我收到警告“bool-assign:Assignmentincondition”,而且我收到了很多这样的警告。例如:$guests=array();$sql="SELECT*FROM`guestlist`";$result=mysql_query($sql);while($row=mysql_fetch_assoc($result))$guests[]=$row['name'];是否有不同的方法可以将多行或所有行放入一个对象或数组中?还是这个方法没有问题? 最佳答案 尝试这样

mysql - 如何正确避免Mysql Race Conditions

我知道之前有人问过这个问题,但我仍然很困惑,如果可能的话,我想在开始编程之前避免任何问题。我计划拥有一个在任何给定时间至少有100名活跃用户的内部网站。用户将发布一个项目(以0作为其值插入到数据库中),该项目将通过php站点(数据库查询)显示。然后,用户可以选择按下按钮并将该项目锁定为他们的(将该项目的值指定为他们的ID)如何确保2个或更多用户不会同时检索到相同的项目。我知道在像c++这样的编程中我只会使用普通的ol互斥锁。它们在mysql中是否是等价物,它会像这样只锁定一个项目条目?我已经看到了对LOCK_TABLES和GET_LOCK以及许多其他内容的引用,所以我仍然很困惑什么是最

php - 使用 MYSQL 选择日期之间的行?

我的一些MYSQL有点问题。我需要能够检查假期房间是否已经预订了一段时间。我的数据库使用DATETIME字段并且设置如下:Databaseimagelink,asmyrepislow我有这样的查询:SELECT*FROM`caravanavail1`WHERE(`checkIn`BETWEEN'2014-01-0714:00:00'AND'2014-01-0810:00:00')OR(`checkOut`BETWEEN'2014-01-0714:00:00'AND'2014-01-0810:00:00')我总是会传入两个日期,但有时这些日期可能会在很多方面发生冲突:入住可能在另一个假期

mysql - 加快选择在另一个表中存在列条件而没有重复项的位置

如果我有以下两个表:表“a”有2列:id(int)[PrimaryIndex],column1[Indexed]表“b”有3列:id_table_a(int),condition1(int),condition2(int)[所有列作为主索引]我可以运行以下查询来从表a中选择表b条件1为1的行SELECTa.idFROMaWHEREEXISTS(SELECT1FROMbWHEREb.id_table_a=a.id&&condition1=1LIMIT1)ORDERBYa.column1LIMIT50由于两个表中都有几亿行,此查询非常慢。如果我这样做:SELECTa.idFROMaINNE