从MySQL表中特定列的第一空行更新

时间:2019-01-02 23:32:11

标签: mysql sql

说我有一个这样的表:

enter image description here

所有数据都是随机的,电子邮件或电话可以属于任何名称,地址,...

现在我还要再添加几封电子邮件。除了使用PHP explodefor循环更新到电子邮件列之外,我仍然想知道如何查询电子邮件列中的第一个空行。

感谢任何帮助!

3 个答案:

答案 0 :(得分:1)

  

我仍然想知道如何查询电子邮件列中的第一个空行

您似乎正在寻找电子邮件为空的最低行ID:这是一个简单的SELECT语句,用于具有空电子邮件的行,并带有ORDER BY以按{{1 }}和id子句仅保留第一个结果。

LIMIT

您可以将SELECT id FROM table WHERE email IS NULL ORDER BY id LIMIT 1 子句中的条件与WHEREAND s组合以细化搜索。要显示所有结果而不是仅显示第一个结果,请删除OR子句。

答案 1 :(得分:1)

如果:

  • “空”表示一行包含空值,
  • “第一”表示具有最低<div>{{$buySellData | async}}</div> 值的行。

然后,我会这样做:

Observable

答案 2 :(得分:1)

如果“第一个”翻译为“具有最低ID”,则可以使用子查询,该子查询检查是否存在具有空电子邮件的较低ID。

SELECT *
       FROM elbat t1
       WHERE t1.email IS NULL
             AND NOT EXISTS (SELECT *
                                    FROM elbat t2
                                    WHERE t2.id < t1.id
                                          AND t2.email IS NULL);

(将IS NULL更改为= '',如果用“空”表示是空字符串,而不是null。)

但是,如果所有这些值都不相关,则应修复该设计并具有四个独立的表。一种用于姓名,一种用于地址,一种用于电子邮件,一种用于电话号码。而且,如果其中没有任何意义,则不应存储空值。这样,您只需执行INSERT,就无需查找空行。

相关问题