2016-05-04 2 views
1

У меня есть таблица Mysql с именем Anonymat_Table (две колонки Anonymat и Moyenne). Мне нужно добавить строку, если Anonymat (VarChar(45)) не существует. Еще добавьте значение в ячейку Moyenne.Добавить строку, если идентификатор не существует, еще добавить к значению в ячейке

+----------+-----------+ 
| Anonymat | Moyenne | 
+----------+-----------+ 
| EzBn142d | 12.00 | 
+----------+-----------+ 

Я строй проекта WPF, у меня есть форма с двумя текстовыми полями и кнопкой, так что если я нажимаю на кнопку и написать в текстовых полях (EzBn142d и 2.00) это изменение таблицы

+----------+-----------+ 
| Anonymat | Moyenne | 
+----------+-----------+ 
| EzBn142d | 14.00 | 
+----------+-----------+ 

и если я нажимаю кнопку после того, как я вхожу в текстовых полях (Nbdjm20DV и 4.00) это добавить строку в таблице и будет выглядеть, как этот

+-----------+-----------+ 
| Anonymat | Moyenne | 
+-----------+-----------+ 
| EzBn142d | 14.00 | 
| Nbdjm20DV | 4.00 | 
+-----------+-----------+ 
+0

Еще одна вещь отсутствует: «И это на самом деле должен выглядеть это:...." – sagi

ответ

3

Вы можете использовать дублирование KEY. Таким образом, первичный ключ или ключ uniqe должен определяться на FIELD Anonymat.

образец

INSERT INTO Anonymat_Table (Anonymat,Moyenne) 
VALUE('bernd' , 13.99) 
ON DUPLICATE KEY UPDATE Moyenne = Moyenne + VALUES(Moyenne); 

он также работает с multirows как этот

INSERT INTO Anonymat_Table (Anonymat,Moyenne) 
VALUE 
('bernd' , 13.99), 
('tom' , 1.99), 
('mark' , 3.95), 
('anna' , 0.95) 
ON DUPLICATE KEY UPDATE Moyenne = Moyenne + VALUES(Moyenne); 
1

Я думаю, вы также можете использовать IF EXISTS, чтобы достичь того, чего вы хотите.

пример:

IF EXISTS(SELECT * FROM Anonymat_Table WHERE Anonymat = anonymat) 
    UPDATE Anonymat_Table 
     SET [Moyenne] = moyenne + Moyenne 
    WHERE Anonymat = anonymat 
ELSE 
    INSERT INTO Anonymat_Table 
      ([Anonymat] 
      ,[Moyenne]) 
    VALUES 
      (anonymat 
      ,moyenne) 

В приведенном выше примере «Anonymat и Moyenne являются имена столбцов» и «anonymat и Moyenne являются значения из вашей программы»

Смежные вопросы