【发布时间】:2014-10-01 09:17:42
【问题描述】:
我有一个多列的表。我想使用 PHP 和 MYSQL 编写 UPDATE 查询,如果只有 Col1 数据为 NULL,它会移动列数据。 例如:
原始表
+--------------+--------------+---------------+ --------------+
| Col1 | Col2 | Col3 | Col4 |
+---------------+--------------+---------------+--- ------------+
| NULL | dat1 | dat2 | dat3 |
+---------------+--------------+---------------+--- ------------+
| NULL | dat1 | NULL | dat3 |
+--------------+--------------+-------------- -+--------------+
| dat0 | dat1 | NULL | dat3 |
+--------------+--------------+-------------- -+--------------+
| NULL | NULL | dat2 | dat3 |
+---------------+--------------+---------------+--- ------------+
输出表将在下方
+--------------+--------------+---------------+ --------------+
| Col1 | Col2 | Col3 | Col4 |
+---------------+--------------+---------------+--- ------------+
| dat1 | dat2 | dat3 | NULL |
+---------------+--------------+---------------+--- ------------+
| dat1 | dat3 | NULL | NULL |
+--------------+-------------+-------------- -+--------------+
| dat0 | dat1 | NULL | dat3 |
+--------------+--------------+-------------- -+--------------+
| dat2 | dat3 | NULL | NULL |
【问题讨论】:
-
为什么
dat3被移动到第二行,而机器人没有被移动到第三行? -
@sectus:因为
Col1不是NULL。 -
看起来你有一个非规范化的数据结构,并且想要做一些如果数据存储在行而不是列中会更容易的事情。
-
:D 下次使用代码按钮而不是千位
 ;)