(使用mysql + C#.net连接器)
案例:
table1输入:
item_id| long_name |short_name
---------------------------------------------
56763 |MY NEW YORK 34 the great |
76878 |in the paris was really..|
table1输出:
item_id| long_name |short_name
---------------------------------------------
56763 |MY NEW YORK 34 the great |NEW YORK
76878 |in the paris was really..|paris
我用C#代码计算short_name
如何使用UPDATE而不是TRUNCATE + INSERT INTO(真实表有超过100,000行,每行有动态值分开)?
答案 0 :(得分:1)
您可以在DataTable
中加载数据,使用C#函数更新列,然后更新数据库,如:
SqlDataAdapter.Update(Dataset.Tables["table1"]);
这会为每一行发送一个UPDATE
语句。你应该考虑一下你的架构。你想达到什么目的?是否可以将逻辑放在触发器而不是C#代码中?您可以通过添加另一个条件(最近添加等)来减少必须更新的行数吗?
答案 1 :(得分:1)
我想你有一些算法可以从“长名”中返回“短名”
因此,您需要在SQL中实现它,并在MySQL服务器上执行它。
如果您使用C#编写算法 - 您可以使客户端程序(C#代码)执行计算,然后使用UPDATE
查询 - 更新对数据库的更改。但对于大型数据库来说,效率非常低且速度很慢(下载100,000行) - 所以你应该考虑用SQL编写。