我有一个名为Anonymat_Table
的Mysql表(两列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 :(得分:3)
您可以使用ON DUPLICATE KEY。因此,主键或uniqe键必须在FIELD Anonymat上定义。
<强>样品强>
INSERT INTO Anonymat_Table (Anonymat,Moyenne)
VALUE('bernd' , 13.99)
ON DUPLICATE KEY UPDATE Moyenne = Moyenne + VALUES(Moyenne);
它也适用于像这样的多行
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 :(得分: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)
在上面的例子中,#An; Anonymat和Moyenne是专栏名称&#34;和#34; anonymat和moyenne是您的计划中的价值&#34;