在mysql中更改一个单元格的数据

kas*_*rsf 151 mysql sql-update

如何只更改mysql表的一个单元格中的数据.我有UPDATE的问题,因为它使列中的所有参数都发生了变化,但我只想更改一个.怎么样?

Bri*_*per 184

您可能需要指定要更新的行...

UPDATE 
    mytable
SET 
    column1 = value1,
    column2 = value2
WHERE 
    key_value = some_value;
Run Code Online (Sandbox Code Playgroud)

  • @weefwefwqg3,啊,我明白了,对不起,近视的攻击。是的,那完全没问题。 (2认同)

slm*_*slm 112

我的回答是重复别人之前所说的,但我想我会添加一个例子,使用MySQL,只是因为之前的答案对我来说有点神秘.

您需要用于更新单行列的命令的一般形式:

UPDATE my_table SET my_column='new value' WHERE something='some value';
Run Code Online (Sandbox Code Playgroud)

这是一个例子.

之前

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

做出改变

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

mysql> select aet,port from ae;
+------------+-------+
| aet        | port  |
+------------+-------+
| DCM4CHEE01 | 11112 | 
| CDRECORD   | 10105 | 
+------------+-------+
2 rows in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)


Vot*_*ple 29

UPDATE 将仅更改您专门列出的列.

UPDATE some_table
SET field1='Value 1'
WHERE primary_key = 7;
Run Code Online (Sandbox Code Playgroud)

WHERE子句限制更新哪些行.通常,您可以使用它来标识表的主键(或ID)值,这样您只能更新一行.

SET子句告诉MySQL哪些列要更新.您可以根据需要列出任意数量的列.任何你不列出不会得到更新.


gru*_*led 11

UPDATE 仅更改您指定的值:

UPDATE table SET cell='new_value' WHERE whatever='somevalue'
Run Code Online (Sandbox Code Playgroud)


小智 9

请尝试以下方法:

UPDATE TableName SET ValueName=@parameterName WHERE
IdName=@ParameterIdName
Run Code Online (Sandbox Code Playgroud)


NSP*_*NSP 7

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

例:

UPDATE TABLE teacher SET teacher_name='NSP' WHERE teacher_id='1'
Run Code Online (Sandbox Code Playgroud)