INSERT und UPDATE in einer Abfrage, MYSQL

Habe ich ein einfaches INSERT-Abfrage, die ausgeführt wird, auf das Ereignis click einer Schaltfläche, bekommt dieser Variablen und fügt Sie in order Tabelle.

Ich würde auch gerne UPDATE meine bands Tabelle zu reduzieren den Bestand um 1, bis es 0 erreicht, dann zeigen Sie null-oder verkauft, anstatt zu gehen in den negativen eg: -6

wissen, welche band ausgewählt, die ich verwenden kann :

WHERE Band_id = $Band_id");

in der gleichen Anweisung.

den aktuellen INSERT sieht wie folgt aus :

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

Abschluss

Ändern zu müssen meine INSERT -, UPDATE auch bei der überprüfung, dass Ihr das aktuell ausgewählte band.

ANTWORT ÜBERPRÜFEN

diese Lösung wurde wunderbar zur Verfügung gestellt, und es macht Sinn, aber im nicht ganz gut genug, um zu verstehen, warum Ihr nicht mehr richtig funktionieren.

 $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");
Sie brauchen einen trigger, um auf eine andere Tabelle einfügen.
Können Sie zwei separate Abfragen und wickeln Sie Sie in einer Transaktion
Ok fantastisch, wie würde ich einen trigger verwenden oder wickeln Sie Sie in einer Transaktion

InformationsquelleAutor Beep | 2014-01-20

Schreibe einen Kommentar