在一个查询 MYSQL 中插入和更新

2023-12-13

我有一个简单的 INSERT 查询,在单击按钮的事件上运行,这会获取变量并将它们插入到order table.

我也想更新我的bands表将库存减少 1,直到达到 0,然后显示空或已售完,而不是变为负数,例如:-6

要知道选择了什么频段,我可以使用:

WHERE Band_id = $Band_id");

在同一份声明中。

当前的插入看起来像:

"INSERT INTO orders (band_id,user_id,user_name,band_name,band_venue) VALUES('$Band_id', '$user_id', '$user_name', '$name', '$venue')";

结论

需要将我的 INSERT 更改为 UPDATE,同时检查其是否是当前选定的频段。

已提供答案检查

这个解决方案已经提供得很好,而且很有意义,但我不够熟练,无法理解为什么它不能正常运行。

 $sql = "INSERT INTO orders (band_id,user_id,user_name,band_name,band_venue) VALUES('$Band_id', '$user_id', '$user_name', '$name', '$venue')";

 $sql_create ="CREATE TRIGGER tg_ai_orders
        AFTER INSERT ON orders
        FOR EACH ROW
          UPDATE bands 
          SET stock = stock - 1
          WHERE band_id = NEW.band_id";

$sql_deleat = "CREATE TRIGGER tg_ad_orders
        AFTER DELETE ON orders
        FOR EACH ROW
         UPDATE bands 
         SET stock = stock + 1
         WHERE band_id = OLD.band_id";

mysql_query ($sql, $sql_deleat, $sql_create, $linkme)
    or die ("could not add to database");

如果您采用触发器方法,那么您将需要两个触发器(用于插入和删除)

CREATE TRIGGER tg_ai_orders
AFTER INSERT ON orders
FOR EACH ROW
  UPDATE bands 
     SET stock = stock - 1
   WHERE band_id = NEW.band_id;

CREATE TRIGGER tg_ad_orders
AFTER DELETE ON orders
FOR EACH ROW
  UPDATE bands 
     SET stock = stock + 1
   WHERE band_id = OLD.band_id;

Here is SQLFiddle demo

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在一个查询 MYSQL 中插入和更新 的相关文章

随机推荐

  • 如何连续改变正弦声音的频率?

    我在用Pygame在窗口中渲染精灵 我想播放正弦声音 其频率取决于y该精灵的位置 我不希望信号相位不连续 实现这一目标的最佳方法是什么 我想出了这个解决方案 改变freq to newfreq然后像这样改变相位 newphase 2 np
  • 如何在 JavaScript 正则表达式中用 (n-1) 次出现的同一字符替换 (n) 次出现的字符

    我的数据是 Hello World I need Hello World 所以基本上 5 次出现的星号被替换为 4 次出现的星号 我怎样才能做到这一点在正则表达式javascript中 注意 星星的数量是动态的 我尝试过此操作 但不确定如何
  • 启动新的 Windows 应用程序:我应该使用 _TCHAR 还是 wchar_t 作为文本?

    我正在用 C 为 Windows 编写一个新的 个人爱好 应用程序 在我之前使用过的低级 Windows 内容中 TCHAR 或只是 TCHAR 用于字符串操作的数组 basic strings 使用有什么好处吗 TCHAR直接使用 Uni
  • LINQ to SQL C# 合并

    给出下表 Length Width Color ID 18 18 blue 1 12 12 red 1 我想生成单列 行 SIZES 18 x 18 12 x 12 我可以在 SQL 中执行此操作 如下所示 DECLARE SIZES VA
  • 通过使用范围解析避免多重继承引起的歧义

    这是多重继承的示例 我使用范围解析运算符而不是虚拟类来解决歧义 struct A int i struct B A struct C A struct D B C void f B i 10 void g std cout lt lt B
  • 减少两个剪切图像之间的间距

    我正在使用剪辑路径来剪辑两个图像 结果是 一切都很好 但我想像这样减少这些图像之间的间距 clip wrap display inline element webkit clip path polygon 0 100 0 0 100 0 6
  • Toast 通知不起作用

    下面的方法在调用设置 Toast 时执行 但在经过一段时间后不会显示任何 Toast Windows 8 Metro 应用程序 Toast 通知是否还需要任何设置 int scheduledToastCounter 1 public voi
  • 为什么 R 和 statsmodels 给出的方差分析结果略有不同?

    使用小型 R 样本数据集和来自的 ANOVA 示例统计模型 其中一个变量的自由度报告不同 F 值结果也略有不同 也许他们的默认方法略有不同 我可以设置 statsmodels 以使用 R 的默认值吗 import pandas as pd
  • 如何将 wav 文件转换为类似字节的对象?

    我正在尝试使用 Python 3 5 1 的 audioop 模块以编程方式分析 wav 文件以获取通道 持续时间 采样率 音量等 但是我找不到任何文档来描述如何将 wav 文件转换为 片段 参数它必须是一个类似字节的对象 有人可以帮忙吗
  • 如何从oracle数据库中删除名为“BIN$c+eOnMB3RbKSEfg/rsxtAQ==$0”的奇怪表?

    我是 Oracle 新手 为了练习 我在 Oracle 11g 及更高版本中创建了一些表 客户 司机 付款 预订 位置 区域 工作 job history select from cat语句我发现一个奇怪的表 其中包含其他创建的名为 BIN
  • TSQL 生成 5 个字符长度的字符串,所有数字 [0-9] 数据库中尚不存在

    最好的方法是什么 我需要生成一个 5 位长度的字符串 其中所有字符都是数字 但是 我需要能够执行此 x 次 用户变量 并将此随机字符串存储在数据库中 此外 我无法两次生成相同的字符串 旧琴弦将在 6 个月后被移除 伪代码 DECLARE i
  • django - 启动 dbshel​​l sqlite3 时选项太多

    我有 django 1 2 3 0 Final 我正在使用 Python 2 7 在我的设置中 我为 DATABASE ENGINE 填充了 sqlite3 我能够使用 sqlite3 在 djano manage py shell 级别
  • 为什么 Powershell 的 Tee-Object 会搞乱我的文件编码?

    周末我使用 Tee Object 生成我跟踪的日志文件的一些输出 我尝试 grep 输出文件 但无法返回任何结果 但我能够 grep 原始日志文件 Tee Object 似乎更改了文件的编码 https adamtheautomator c
  • weblogic中的类强制转换异常

    我有一个使用球衣罐子的Web应用程序 WAR文件 现在 当我尝试部署这个时 我收到类转换异常 某些引导servlet使用球衣 在分析中 我发现weblogic本身有共同的球衣罐子 模块 和我的网络应用程序有不同版本的球衣罐 现在 如果我删除
  • iPhone 4 有没有绝对确定的方法可以让 NSTimer 长期火起来

    我的 NSTimers 和后台选择器一直遇到问题 这让我抓狂 并且需要很长时间来尝试每一个调整 为了保持我的理智以及未来几代可可程序员的理智 我问这个问题 是否有绝对 100 确定的方法可以在稍后的时间点触发预定的长期计时器 无论它是否是从
  • CMake:为 #cmakedefine 变量设置不同的名称

    我知道你可以使用 CMakeconfigure file使 CMake 变量可用于您的程序 例如 我可以使用 define CMAKE BUILD TYPE 导致 define Release 但是 为了使我的代码更具可读性 我更愿意定义
  • 重定向到 https 但没有 .php

    现在我有一个https 我需要在 htaccess 中进行重定向 我可以找到这个 RewriteCond HTTPS off RewriteRule https HTTP HOST REQUEST URI L R 301 但我发现如果用户写
  • Google Script CacheService 在 sendMail 中为 inlineImages 缓存图像

    我想将图像存储在 Google Script 的缓存服务中 然后将此图像作为内联图像插入 HTML 邮件中 我已经尝试让它发挥作用 但到目前为止还没有成功 记录器中以下代码的错误是 无效参数 附件 如果我检查它显示 sendMail 中的
  • 如何动态新的匿名类?

    在 C 3 0 中 您可以使用以下语法创建匿名类 var o1 new Id 1 Name Foo 有没有办法动态创建这些匿名类到变量 Example var o1 new Id 1 Name Foo var o2 new SQ 2 Bir
  • 在一个查询 MYSQL 中插入和更新

    我有一个简单的 INSERT 查询 在单击按钮的事件上运行 这会获取变量并将它们插入到order table 我也想更新我的bands表将库存减少 1 直到达到 0 然后显示空或已售完 而不是变为负数 例如 6 要知道选择了什么频段 我可以