如果行已经存在,如何将行插入表或添加值

本文关键字:插入 添加 存在 如果 | 更新日期: 2023-09-27 17:50:36

我正在制作一个基于c#的程序,它使用MySQL数据库来存储数据。我想使一个选项添加行表或添加值行,如果它已经存在。我试着写这个,但是没有用。我对MySQL命令很陌生,所以这可能是显而易见的,但我找不到我问题的答案。我认为是这样的(但就像我说的,我可能完全错了):

if exists(update database.table set column = column + 1 where anothercolumn = something)

,然后是让数据库做的事情:

(insert into database.table (column1, column2, column3) values (a, b, c);

如果行已经存在,如何将行插入表或添加值

如果在表上定义了唯一键(唯一索引或主键),则可以使用INSERT…ON DUPLICATE KEY UPDATE语句

 INSERT INTO mytable (col1, col2, col3) VALUES ('a','b','c')
 ON DUPLICATE KEY UPDATE col3 = col3 + 1;

否则,您将需要运行两个单独的SQL语句,一个INSERT语句用于添加行,或者一个UPDATE语句用于修改行(就像您所展示的那样,除了"if exists"那部分)

列已经"存在"在行中,问题是存储什么值。