【mysql – 如何修复程序中“ambiguous”where子句】教程文章相关的互联网学习教程文章

mysql – INNER JOIN之前的WHERE子句【代码】

如果我有SELECT * FROM Table1 t1 LEFT JOIN Table2 t2 ON t1.id = t2.id WHERE t1.user='bob';在两个表是JOINED之后运行WHERE子句吗? 如何使它在JOIN之前运行?解决方法:将WHERE更改为另一个JOIN条件 LEFT JOIN Table2 t2 on t1.id = t2.id AND t1.user =’bob’

php – 如何在mysql查询的where子句中传递数组值?【代码】

我有一个变量$元素,其值为:Array ( [4] => easy [5] => easy [7] => easy [8] => will [9] => easy [10] => will ) 我想在我的查询中使用此变量:$sql = "SELECT * FROM questions where type='$element'"; $result = $conn->query($sql);if ($result->num_rows > 0) {// output data of each rowwhile($row = $result->fetch_assoc()) {echo "id: " . $row["question_name"]. "<br>";} }实际上我想从$element变量的每个元素解析并...

mysql – where子句中的NULL值【代码】

我有一张像这样的桌子“bla”:[id] [name] [fk] 1 test 4 2 foo 5 3 bar NULL如果我做的SQL查询SELECT * FROM bla WHERE fk <> 4我只得到id为2的记录.我没有得到id为3的记录,其中fk为null.我以为是NULL!= 4.似乎这是错误的. 为什么会这样?解决方法:NULL不会比较等于任何东西.您需要显式接受空值:where fk <> 4 or fk is null;有关NULL处理的更多信息,请参见Working with NULL.

INSERT语句中的WHERE子句使用mysql / php【代码】

在Google上搜索后,我才知道,我不能在我的INSERT查询中使用WHERE子句.但我想在列“Book_4”上插入一个值,其中“Student_ID = 1” 我怎样才能做到这一点 ??有没有替代方法呢? 会感激你的!$Query = "INSERT INTO issued_books (Book_4) VALUES ('$IssuedBookNumber')" ;编辑:更多细节使用插入查询,当我在我的表中的“Student_ID”列中插入一个值. Student_ID行(Student_ID除外)中的所有列在我的数据库中显示为0.根据DB,我知道这意...

php – 有没有办法只为MySQL中的一个字段显示WHERE子句?【代码】

我有一些课程,学生可以报名参加.有一个用户表(usuarios),一个课程(cursos)表和第三个表,显示每个学生注册(cursosUsuarios),如下所示:CREATE TABLE usuarios(userID int unsigned not null auto_increment primary key,userName char(50) null, )ENGINE=InnoDB DEFAULT CHARSET=utf8;CREATE TABLE cursos (cursoID int unsigned not null auto_increment primary key,nombreCurso char(100) not null,estadoCurso char(50) not nul...

mysql – “where in”子句的实际限制【代码】

我有一个相当简单的表,大约有一百万行.id | my_col | other1 | other 2 | ...在这个表中有大约15k个不同的my_col值,我在my_col上有一个索引.我有一组7k my_col值,我需要从这个表中删除. 在SQL中做什么是更有效的事情(我目前正在使用MySQL,但将来可能会移植到MS SQL). 是a)在我的java应用程序代码中,遍历所有my_col值并在每个上调用sql delete.for (String my_colValue : listMyCol) {[delete from my_table where my_col = m...

mysql – UPDATE查询更改了行而没有WHERE子句但是有一个AND子句 – 为什么?【代码】

我运行了以下查询,它应该有一个where子句但我忘了添加它:UPDATE tblFormElementInstances as fei JOIN tblFormElements as fe using(intFormElementId) SET fei.intStep = 1 AND fei.intDivisionId = 1 OR fei.intDivisionId IS NULL);MySQL返回以下消息:– 查询OK,42行受影响(0.06秒) – 匹配的行数:94已更改:42警告:0 我原以为它会抛出语法错误,但事实并非如此.此外,该表中有96行,具有不同的intDivisionIds(即不仅仅是1或NU...

MySQL – WHERE子句中的数字和文本【代码】

当我在MySQL中运行两个语句时,我感到很惊讶SELECT * FROM jobs WHERE salary_max = 1000和SELECT * FROM jobs WHERE salary_max = '1000'我只是想知道为什么MySQL可以处理文本和数字相同,并返回相同的结果.你能帮我解释一下吗?解决方法:MySQL自动转换表达式中不兼容的类型以使它们兼容.它在MySQL documentation中讨论过.

mysql – 基于列值的条件sql WHERE子句【代码】

我有一个存储用户的表.每个用户都有ID,名称和访问级别.三种可能的访问级别是管理员,管理员和简单用户. 我想要的是根据访问级别值有条件地从该表中选择.我演示了以下逻辑: >如果用户是管理员,则选择所有用户(管理员,经理,简单用户)>如果用户是经理,则选择所有经理和所有简单用户>如果用户是简单用户,则仅选择他自己 那可能吗?解决方法:提供访问级别是一个随实际访问级别而增加的整数:管理员= 3经理= 2用户= 1 然后SELECT * FROM ...

mysql – 我如何在Where子句中使用IFNULL【代码】

我想以这样的方式使用IFNULL(),我可以选择包含NULL的记录,或者如果存在值,则选择匹配特定值的记录. 我的查询是:SELECT (@v:=2) AS Row, CL.LeaveTypeId, CL.NumberOfLeave FROM `CompanyLeave` CL WHERE(IFNULL(CL.EmploymentType,0)=3);columns EmploymentType可以包含Integer或NULL. 我想选择匹配指定值的记录,或者,如果没有匹配,则选择包含NULL的记录.解决方法:我将这个问题解释为优先顺序.如果存在3的记录,请选择该记录.否则,...

mysql – 如何通过id序列使用where子句【代码】

我有一系列由逗号合并的id:$ids = '1,2,3,4,5,6,7,8,9,10' ; select * from ads WHERE id = $ids ...现在我如何通过这些ID获取广告表的内容?解决方法:您正在使用PHP.您可以像这样构建SQL:$ids = '1,2,3,4,5,6,7,8,9,10'; $sql = 'SELECT * FROM ads WHERE id IN ('.$ids.')'; //execute the query (don't use mysql_* function ;) )从MySQL 5.6开始,您也可以使用FIND_IN_SET():$ids = '1,2,3,4,5,6,7,8,9,10'; $sql = "SELECT ...

mysql – 来自WHERE子句的虚假结果的说明【代码】

MySQL 8.由于缺少表名的规范,我在查询中看到了一个虚假的行.我知道如何修复它,我想了解它为什么会发生. 请看下面的小提琴: http://sqlfiddle.com/#!9/beb1ed/1/0 目的是查找计划表中也存在于计划表中的任何行,与SubscriptionID和date匹配. 返回的结果是:RealWorldVisitDate CustomerID SubscriptionID 2019-01-14 00:00:00 5 13 2019-01-14 00:00:00 17 23 但是,WHERE子句应将结...

如何在PHP中使用mySQL WHERE子句?【代码】

似乎无法从securityinfo字段传递任何内容.for ($k = 1; $k < $fieldscnt; $k++) {$selectsecurityname = mysql_query("SELECT `security name` FROM securityinfo WHERE symbol = '$symbol[$k]'") or die(mysql_error());$securityname = mysql_fetch_array($selectsecurityname);$sym = $symbol[$k]echo "<td>$securityname[$sym]</td>"; }基本上,我想在符号字段中搜索具有匹配项的行,然后从同一行中的securityinfo字段返回值.解决...

给定日期“03/13/2010”,在MYSQL Where子句中使用它?【代码】

我想在以下日期通过Coldfusion传递一个MYSQL查询:03/13/2010所以查询过滤掉它就像这样:SELECT * FROM myTable WHERE dateAdded before or on 03/13/2010我还希望能够将2个日期作为范围,从:2000年11月1日到:2010年3月13日SELECT * FROMT myTable WHERE dateAdded is ON or Between 01/11/2000 through 03/13/2010此外,有没有办法让一个查询可以处理BOTH Date_Start和Date_END,或只是两个中的一个? 谢谢解决方法:您可以将cfquer...

mysql – 我可以在通过IF选择的字段的where子句中应用条件吗?【代码】

举个例子,因为我很难理解我在说什么:SELECT a.f1, b.f1, IF(a.f3 <> '', a.f3, b.f3) as f3 FROM a LEFT JOIN b ON b.f4 = a.f4 WHERE f3 = 'something'现在,这不起作用,因为我不能将别名作为where子句中的字段,因此如何将条件应用于来自a或b的f3字段.最好不要在where子句中放入一堆IF解决方法:试试这个:SELECT * FROM (SELECT a.f1, b.f1,IF(a.f3 <> '', a.f3, b.f3) as f3FROM a LEFT JOIN b on b.f4 = a.f4 ) S WHERE S.f3 =...