如何只更改mysql表的一个单元格中的数据。 我有UPDATE的问题,因为它使列中的所有参数都发生了变化,但我只想更改一个。怎么样?
答案 0 :(得分:168)
您可能需要指定要更新的行...
UPDATE
mytable
SET
column1 = value1,
column2 = value2
WHERE
key_value = some_value;
答案 1 :(得分:107)
我的回答是重复其他人之前说过的话,但我想我会使用MySQL
添加一个例子,因为之前的答案对我来说有点神秘。
更新单行列时需要使用的命令的一般形式:
UPDATE my_table SET my_column='new value' WHERE something='some value';
这是一个例子。
<强> BEFORE 强>
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
<强> AFTER 强>
mysql> select aet,port from ae;
+------------+-------+
| aet | port |
+------------+-------+
| DCM4CHEE01 | 11112 |
| CDRECORD | 10105 |
+------------+-------+
2 rows in set (0.00 sec)
答案 2 :(得分:29)
UPDATE
只会更改您专门列出的列。
UPDATE some_table
SET field1='Value 1'
WHERE primary_key = 7;
WHERE
子句限制更新哪些行。通常,您可以使用它来标识表的主键(或ID)值,这样您只能更新一行。
SET
子句告诉MySQL要更新哪些列。您可以根据需要列出任意数量的列。任何未列出的内容都不会更新。
答案 3 :(得分:9)
UPDATE
仅更改您指定的值:
UPDATE table SET cell='new_value' WHERE whatever='somevalue'
答案 4 :(得分:8)
尝试以下方法:
UPDATE TableName SET ValueName=@parameterName WHERE
IdName=@ParameterIdName
答案 5 :(得分:6)
更新表 <tablename>
设置 <COLUMN=VALUE>
WHERE <CONDITION>
示例:
UPDATE TABLE teacher SET teacher_name='NSP' WHERE teacher_id='1'
答案 6 :(得分:2)
试试这个。
UPDATE `database_name`.`table_name` SET `column_name`='value' WHERE `id`='1';
答案 7 :(得分:0)
MySQL中的一些列有一个“on update”子句,请参阅:
mysql> SHOW COLUMNS FROM your_table_name;
我不知道如何更新此内容,但会在发现时发布修改。