【发布时间】:2015-10-18 17:47:06
【问题描述】:
我正在尝试创建一个查询,它将检查它是否存在于一个表中,如果它存在,它只会将一个添加到数量 qty 否则它将从另一个表中的选择中插入,在我的情况下是 @ 987654323@
这是我目前的 sql。
设置
事务隔离级别可序列化;开始交易;如果存在(
选择
PID
从
temp_sales
在哪里
条形码 = '4800556410652'
) 开始
更新
temp_sales
放
数量 = 数量 + 1
在哪里
条形码 = '4800556410652' END ELSE INSERT INTO temp_sales (
0,
(
选择
产品.ID,
products.product_sprice 作为价格,
1、
1 * 价格,
'4800556410652',
'101',
'行政'
在哪里
条形码 = '4800556410652'
)
) 结束提交事务;
我一直在关注UPDATE if exists else INSERT in SQL Server 2008 的这个 stackoverflow 答案,但我没有运气。
MySQL 错误 #104 #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TRANSACTION' at line 1
我做错了什么?
编辑
PL: vb.net 数据库:MySQL(xampp)
【问题讨论】:
-
MySQL != MS SQL Server。它们有不同的语法
-
我正在使用 mysql、vb.net 和 xampp MySQL
-
然后您按照 Sql Server 的示例期望它可以工作?
-
那我很糟糕,我是事务新手,我只知道 SQL 的基础知识
标签: mysql transactions