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

标签 c# mysql sql

我正在制作一个基于 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 来修改一行(就像您显示的一样,除了“如果存在”的东西。)

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

关于c# - 如果行已存在,如何将行插入表或添加值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22444122/

相关文章:

javascript - 如何使用 PHP 检索 MySQL 中的表行并使用 Javascript 显示它?

mysql - 创建根据 MYSQL 中的计数插入的条件 SQL 选择语句

java - 在 MyBatis 中添加一个项目列表,在 SQL 列中共享一个值

c# - Json.Net 可以处理 List<object> 吗?

c# - 获取 WPF 网页浏览器 HTML

javascript - 在 C# 中获取 JavaScript/HTML 变量的值

c#相对路径

php - 如何存储设置

c# - 如何形成正确的MySQL连接字符串?

mysql - 需要将MySql查询连接到3个表