Jak mogę zmienić dane tylko w jednej komórce tabeli mysql. Mam problem z UPDATE, ponieważ powoduje zmianę wszystkich parametrów w kolumnie, ale chcę zmienić tylko jeden. W jaki sposób?
Jak mogę zmienić dane tylko w jednej komórce tabeli mysql. Mam problem z UPDATE, ponieważ powoduje zmianę wszystkich parametrów w kolumnie, ale chcę zmienić tylko jeden. W jaki sposób?
Odpowiedzi:
Prawdopodobnie musisz określić, które wiersze chcesz zaktualizować ...
UPDATE
mytable
SET
column1 = value1,
column2 = value2
WHERE
key_value = some_value;
UPDATE mytable SET column1 = new_value WHERE column1 = old_value;??
Moja odpowiedź to powtórzenie tego, co inni powiedzieli wcześniej, ale pomyślałem, że dodam przykład, używając MySQLtylko dlatego, że poprzednie odpowiedzi były dla mnie trochę tajemnicze.
Ogólna postać polecenia, którego należy użyć do zaktualizowania kolumny w jednym wierszu:
UPDATE my_table SET my_column='new value' WHERE something='some value';
A oto przykład.
PRZED
mysql> select aet,port from ae;
+------------+-------+
| aet | port |
+------------+-------+
| DCM4CHEE01 | 11112 |
| CDRECORD | 10104 |
+------------+-------+
2 rows in set (0.00 sec)
DOKONYWANIE ZMIANY
mysql> update ae set port='10105' where aet='CDRECORD';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
PO
mysql> select aet,port from ae;
+------------+-------+
| aet | port |
+------------+-------+
| DCM4CHEE01 | 11112 |
| CDRECORD | 10105 |
+------------+-------+
2 rows in set (0.00 sec)
UPDATE zmieni tylko kolumny, które wymienisz.
UPDATE some_table
SET field1='Value 1'
WHERE primary_key = 7;
Te WHERElimity klauzula które wiersze są aktualizowane. Zwykle używa się tego do zidentyfikowania wartości klucza podstawowego (lub identyfikatora) tabeli, tak aby aktualizować tylko jeden wiersz.
SETKlauzula mówi MySQL, które kolumny do aktualizacji. Możesz podać dowolną liczbę lub kilka kolumn. Wszystko, czego nie wymienisz , nie zostanie zaktualizowane.
Spróbuj wykonać następujące czynności:
UPDATE TableName SET ValueName=@parameterName WHERE
IdName=@ParameterIdName
@parameterName służy?
Spróbuj tego.
UPDATE `database_name`.`table_name` SET `column_name`='value' WHERE `id`='1';
Niektóre kolumny w MySQL mają klauzulę „on update”, zobacz:
mysql> SHOW COLUMNS FROM your_table_name;
Nie jestem pewien, jak to zaktualizować, ale opublikuję zmianę, gdy się dowiem.