我有一个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)。
我该怎么做?
答案 0 :(得分:0)
你去吧
<?php
// just in case, for comparison
$q = 'SELECT `id`,`colB` FROM My_TABLE WHERE `colA` IS NULL ORDER_BY `id` LIMIT 1';
$row = $pdo->query($q)->fetch(PDO::FETCH_ASSOC);
if ($row) {
// voialà, the value for COLUMN B is now known
list($id, $colB) = $row;
$q = 'UPDATE My_TABLE SET `colA`=? WHERE `id`=?';
$stmt = $pdo->prepare($q);
// voilà, your row is updated
$stmt->execute(array($valueForColumnA,$id));
}
当心,不要复制并粘贴威利威利。读它,看它,闻它并理解它。有问题吗?