web-dev-qa-db-ja.com

mysqlで一つのセルのデータを変更する

Mysqlテーブルの1つのセルだけのデータを変更するにはどうすればいいですか。 UPDATEに問題があります。列内のすべてのパラメーターが変更されるためです。ただ1つだけ変更したいのです。どうやって?

144
kasrsf

更新したい行を指定する必要があります。

UPDATE 
    mytable
SET 
    column1 = value1,
    column2 = value2
WHERE 
    key_value = some_value;
171
Brian Hooper

私の答えは他の人が前に言ったことを繰り返すことです、しかし私は私がMySQLを使って例を加えることを考えました。

単一行の列を更新するために使用する必要があるコマンドの一般形式。

UPDATE my_table SET my_column='new value' WHERE something='some value';

そしてこれが例です。

の前に

mysql> select aet,port from ae;
+------------+-------+
| aet        | port  |
+------------+-------+
| DCM4CHEE01 | 11112 | 
| CDRECORD   | 10104 | 
+------------+-------+
2 rows in set (0.00 sec)

変更を加える

mysql> update ae set port='10105' where aet='CDRECORD';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

の後ろに

mysql> select aet,port from ae;
+------------+-------+
| aet        | port  |
+------------+-------+
| DCM4CHEE01 | 11112 | 
| CDRECORD   | 10105 | 
+------------+-------+
2 rows in set (0.00 sec)
108
slm

UPDATEは、明示的にリストした列のみを変更します。

UPDATE some_table
SET field1='Value 1'
WHERE primary_key = 7;

WHERE節はどの行が更新されるかを制限します。通常、これを使用してテーブルの主キー(またはID)の値を識別します。そのため、1行だけを更新します。

SET節はMySQLにどのカラムを更新するかを指示します。あなたが望むのと同じくらい多くのまたは少ない列をリストすることができます。あなたがリストに載っていないものはできません更新されます。

29
VoteyDisciple

UPDATEは、指定した値のみを変更します。

UPDATE table SET cell='new_value' WHERE whatever='somevalue'
9
gruntled

以下を試してください。

UPDATE TableName SET ValueName=@parameterName WHERE
IdName=@ParameterIdName
8
user3668628

PDATE TABLE<tablename>SET<COLUMN=VALUE>WHERE<CONDITION>

例:

UPDATE TABLE teacher SET teacher_name='NSP' WHERE teacher_id='1'
6
NSP

これを試して。

UPDATE `database_name`.`table_name` SET `column_name`='value' WHERE `id`='1';
2
abhay

MySQLの一部の列には "on update"節があります。

mysql> SHOW COLUMNS FROM your_table_name;

どうやってこれを更新するのかわかりませんが、見つけたときに編集を投稿します。

0
Jake_Howard