Sql - 在列的第一个空单元格中插入值并显示ID

时间:2013-11-29 09:01:22

标签: php mysql sql select insert

我有一个sql语句,它会将值插入第一个空单元格。如果我再次运行php脚本,那么它会插入下一个空单元格等。

问题:我还想找出该行的ID以及该行中另一列的值。在下面的Mysql表中,我想要在COLUMN A的第一个'null'中插入一个值,并且还知道COLUMN B中与之对应的id和值(即id = 3和COLUMN B = 11)。

My_TABLE

+---------+--------------+-------------+
| ID      | COLUMN A     |  COLUMN B   |
+---------+--------------+-------------+
| 1       | 6            | 78          |
| 2       | 7            | 90          |
| 3       |  NULL        | 11          |
| 4       |  NULL        |  5          |
| 5       |  NULL        | 123         |
+---------+--------------+-------------+

PHP脚本中的以下sql语句可以将值插入COLUMN A中的第一个空单元格:

UPDATE My_TABLE  
SET COLUMN A = 83  
WHERE COLUMN A IS NULL  
LIMIT 1;

结果将是:

+----+----------+------------+
| ID | COLUMN A | COLUMN B   |
+----+----------+------------+
|  1 | 6        |       78   |
|  2 | 7        |       90   |
|  3 | 83       |       11   |
|  4 | NULL     |        5   |
|  5 | NULL     |      123   |
+----+----------+------------+

我还希望有一个sql脚本,它将在PHP(echo)中打印对应于第一个COLUMN A null值的ID和COLUMN B值的值(即ID = 3; COLUMN B = 11)。

2 个答案:

答案 0 :(得分:0)

  1. 按条件获取行,在这种情况下,您将IDCOLUMN B

    选择* 来自My_TABLE 其中COLUMN A为空 按ID排序 限制1

  2. ID更新所选行:

    更新My_TABLE   set COLUMN A =:SOME_VALUE   其中ID =:ID_FROM_FETCH

答案 1 :(得分:0)

不确定这种情况是否适合您的质疑。

  

mysqli_insert_id

从这个函数我很确定你能够编写你需要的脚本。

  

注意* 如果它符合您的需要,请阅读警告,因为我不是   确定它是否会从最新的PHP版本弃用。请接受   注意: