mysql - MySQL/VB.NET(Winform) - 如何正确使用@var?
问题描述
我正在 MySQL 和 VB.NET 中开发一个序列,其中,当删除一条记录时,标识它的数字被删除,并将 1 到“n”的序列,序列如下。
这是 MySQL 的说明。
SET @rownum=0;
UPDATE id_line t, (SELECT @rownum:=@rownum+1 rownum, id_line.* FROM id_line WHERE id_line.line_name=59999 and id_line.line_no<>0) r
SET t.line_no = r.rownum
WHERE (t.id_line_b = r.id_line_b)
在 VB.net 我用这个
cmdB = New MySqlCommand("SET @rownum=0 UPDATE id_line t, (SELECT @rownum=:@rownum+1 rownum, id_line.* FROM id_line WHERE id_line.line_name='" & TextBox1.Text & "' and id_line.line_no<>0) r ) SET t.line_no = r.rownum WHERE(t.id_line_b = r.id_line_b)", conn)
但 VB 发送此错误
您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 'UPDATE id_line t, (SELECT @rownum=:@rownum+1 rownum, id_line.* FROM id_lin' 附近使用正确的语法
你能帮我解决这个错误吗?
更新 1:这是我的字符串连接。
Public conString As String = "Data Source=server_one;port=3306;Initial Catalog=test_db;User Id=root;password=root;Allow User Variables=True"
解决方案
procedure
创建 mysql以删除 mysql 数据查询的其他更好的方法
推荐阅读
- java - 通过数据库模式生成持久性映射后缺少 @CreationTimestamp 和 @UpdateTimestamp
- pygame - python pygame(带播放器的滚动相机)
- tensorflow2.0 - 使用 RNN 预测航班延误
- mysql - 使用 Laravel 4.2 的 Docker,连接到 DB 时抛出错误:SQLSTATE[HY000] [2002] No such file or directory
- javascript - 用js和dom appendChild添加输入标签好像没有边距
- android - 如何使用带有纹理视图的坐标在屏幕上绘制矩形?
- wordpress - 更改 Wordpress 媒体图像 URL
- linux - VSCode 在远程 linux 或 windows 机器上执行节点脚本
- file - 第一个 Flutter 应用程序,我遇到了一个错误
- javascript - 根据 js 收集的数据阻止机器人