在SQL中只更改一行中的一列

时间:2016-05-09 20:56:26

标签: sql sqlite

假设我有一个包含1000行的SQLite数据库,其中有10列名为<?php include_once 'functions.php'; if(isset($_SESSION['username'], $_SESSION['user_id'], $_SESSION['lastActive'])) { date_default_timezone_set("Europe/London"); $now = new DateTime(); $lastActive = $_SESSION['lastActive']; $diff=$now->diff($lastActive); $hours = $diff->format('%h'); $mins = $diff->format('%i'); $day = $diff->format('%d'); $month = $diff->format('%m'); $year = $diff->format('%y'); if($mins > 45 || $hours >= 1 || $day >= 1 || $month >= 1 || $year >= 1) { $_SESSION['lastActive'] = $now; set_last_active($mysqli, $_SESSION['username']); } }

如何仅更改特定行的col1, col2, ..., col9, id?这或多或少是我想要实现的目标:

col7

是否可以在1个查询中执行此操作?即,不必先读取整行,并重新发布整行等等。

2 个答案:

答案 0 :(得分:2)

您正在寻找的语法是update语句:

UPDATE mytable
SET    col7 = 'newvalue'
WHERE  id = '156'

答案 1 :(得分:1)

正如Siyual所说(并且应该回答),这非常简单:

UPDATE myTable SET col7 = 'newvalue' WHERE id = 156

Here是关于SQLite UPDATE语句版本的文档。