我有一个简单的 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");