У меня есть простой запрос INSERT, который запускается при нажатии на кнопку события, это получает переменные и вставляет их в таблицу order
.INSERT и UPDATE в одном запросе MYSQL
Я также хотел бы обновить мою 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");
Вам нужен триггер влияют на другую таблицу в вставке. –
Вы можете использовать два отдельных запроса и обернуть их в транзакции – vidaica
Хорошо, как я могу использовать триггер или обернуть их в транзакции – Beep