草庐IT

g_null_acl

全部标签

如果表中不存在,MySQL 选择一个字段为 NULL

我喜欢在可能包含某些字段但可能不包含的表上使用SELECT。如果不是,该值可以作为NULL返回,就像JOINLEFT对不存在的行所做的那样。例如。像这样的伪SQL:SELECTid,emailIFEXISTS,name,addressFROMusers;应该在没有“email”字段的“users”表上正常运行,但返回email=NULL。 最佳答案 您想要的东西不能用纯SQL完成。本质上,您希望SQL能够有条件地选择可能不存在的列。无法解析此类SQL-所有选择的列必须存在,否则查询将无效。但是,您可以通过查询目录表来检查您所连接的数

php - 从 php 插入 mysql 将日期字段保存为 00 :00:00 instead of NULL

我通过POST收到以下变量,有时它必须是一个日期,有时它必须为空(例如,如果该事件尚未发生)$hora_entrada=$_POST['hora_entrada'];$salida_comida=$_POST['salida_comida'];$regreso_comida=$_POST['regreso_comida'];$hora_salida=$_POST['hora_salida'];因此,如果POST为空,我将NULL赋给变量:if($hora_entrada==''){$hora_entrada="NULL";}if($salida_comida==''){$salida_

MySQL 排序 : NULL to the end & use index? 不可能?

我有一个很大的表,我想要简单的排序。原来如此简单。由于该索引,我可以创建一个索引并进行一些非常快速的排序。但是我的客户想把NULL放在最后,这让整个情况变得复杂。不是简单的:SORTBYnameASC我必须做SORTBYnameISNULLASC,nameASC。那没关系,但是因为我的索引没用,而且排序很慢。不知道有没有办法解决这个问题,如果有的话,我拼命求助。:'( 最佳答案 UNIONALL不保证保留记录顺序,但在当前实现中最终的ORDERBY将仅相当于对已经订购的字段进行一次传递:SELECT*FROM(SELECT1ASso

javascript - 无法使用 Node.JS 将 null 值发送到 MySQL 数据库

我正在尝试使用Node.JS将null发送到我的MySQL数据库:con.query("INSERTINTORoutes(routeTrigger)VALUES("+null+")",{title:'test'},function(err,result){if(err)throwerr;});但是在数据库中查找时,更新后的值显示为'null'。数据库的NULL应该是NULL。如果我改为发送大写字母NULL,那甚至不起作用(在Node.JS中)。如果我发送'NULL',它会发送字符串“NULL”,而不是数据库的NULL。 最佳答案 J

mysql - 为什么我可以将 null 插入到 mysql 字段中,它是 varchar 而不是 null

我在mysql中创建了一个表createtabletest(idintprimarykeynotnullauto_increment,vsvarchar(255)notnull);运行时insertintotest(vs)values(null);它抛出一个错误:ERROR1048(23000):Column'vs'cannotbenull但是当我尝试通过插入两行时insertintotest(vs)values(null),(null);它有效,结果是:mysql>select*fromtest;+----+----+|id|vs|+----+----+|1|||2||+----+-

MySQL - 选择具有指定 ID 或 null 的结果

我有一张table:|ID|ADV_ID|USER_ID||1|22|NULL||2|22|3||5|44|NULL|现在,我想选择adv_id=22和user_id=3的行。如果该行不存在,我想获取adv_id=22且user_id为null的行。我这样试过:SELECT*FROM`table`WHEREadv_id=22AND(user_id=3ORuser_idisnull)但此查询返回两行-user_id=NULL和user_id=3。我想获得一行-使用user_id=3或(如果不存在)使用user_id=NULL。如何在一次查询中完成?谢谢。 最佳

mysql - 如果 null 存在超过特定数量,则删除行

我有一个像这样的表:id|name1|name2|name31|asa|NULL|das2|NULL|NULL|asas我想删除具有两次或更多次NULL值的每一行(这里是id=2的行)我已经用一个小的PHP脚本做到了,但我想知道是否可以用mysql查询来完成我是mysql的新手,所以我还没有尝试任何东西! 最佳答案 您将希望使用带有多个过滤器的WHERE子句,每个过滤器检查列是否为null:deletefromyourtablewhere(name1isnullandname2isnull)or(name1isnullandname

mysql - 主键默认值可以为 NULL 吗?为什么这样描述呢?

我有一个表,当我describe时,它是:mysql>DESCmy_table;+------------+-------------+------+-----+---------+----------------+|Field|Type|Null|Key|Default|Extra|+------------+-------------+------+-----+---------+----------------+|contact_id|int(11)|NO|PRI|NULL|auto_increment||location|varchar(20)|YES||NULL|||city

php - 如何将 NULL 值从 PHP 变量插入 MySQL,远离 SQL 注入(inject)?

我有一个歌曲上传表单,我不会在MySQL中直接输入NULL值,例如:mysql_query("INSERTINTOsongs(album_id)VALUES(NULL)".我将从PHP变量中插入NULL到MySQL,并且肯定不会受到SQL注入(inject)攻击。我的SQL表是:CREATETABLEIFNOTEXISTS`songs`(`song_id`int(4)NOTNULL,`song_name`varchar(64)NOTNULL,`artist_id`int(4)NOTNULL,`album_id`int(4)DEFAULTNULL,`genre_id`int(4)DEFA

java - JDBC:连接返回NULL,怎么办?

这是下面给出的程序的输出:Connectionmade!SchemaName:nullSuccessfullyconnectedtonullReleasingallopenresources...在establishConnection()内部,conn被初始化为null。然后tryblock中的第一条语句应该与数据库建立连接,然后第三条语句打印conn的当前模式的名称。根据API,getSchema()返回当前模式名称,如果没有则返回null。这意味着没有与conn关联的架构(我认为架构名称与数据库名称相同)?任何人都可以建议我的预期是否正确,并建议为什么没有与conn关联的架构或空