Für die Abfrage unterhalb des MySQL -Terminals und MySQL Workbench geben das gleiche Ergebnis, aber PHP liefert ein anderes Ergebnis. Aber in PHP (Codesigniter mit einer PDO -Verbindung) subtrahiert zwei Elemente von der Menge.UPDATE tbl_stock tsk,
(SELECT
tsk.id_stock, tsk.qty
FROM
tbl_store ts
inner join tbl_stock tsk ON ts.id_store = tsk.id_store
where
ts.id_physical_place = 2
and ts.store_status = 1
and tsk.stock_status = 1
and tsk.id_products = 796
limit 1) tmp
SET
tsk.qty = (if(tmp.qty >= 1,
(tmp.qty - 1),
ifnull(tmp.qty, 0)))
WHERE
tsk.id_stock = tmp.id_stock
< /code>
Aus dem Terminal: < /p>
Abfrage OK, 1 Zeile betroffen, 2 Warnungen (0,03 Sek.)
Zeilen übereinstimmend: 1 geändert: 1 Warnungen: 0 < /p>
-Schize (Code 1592). Die Anweisung ist unsicher, da sie eine Grenzklausel verwendet. Dies ist unsicher, da die enthaltenen Zeilen nicht vorhergesagt werden können. Aussagen, die nach Auswahl einer anderen Tabelle in eine Tabelle mit einer automatischen Inkrement-Spalte schreiben, sind unsicher, da die Reihenfolge, in der Zeilen abgerufen werden, bestimmt, welche (falls vorhanden) Zeilen geschrieben werden. Diese Reihenfolge kann nicht vorhergesagt werden und kann sich auf den Master und den Sklaven unterscheiden.
MySQL-Update mit Comma-Join auf Unterabfrage in Codesigniter [geschlossen] ⇐ Php
-
- Similar Topics
- Replies
- Views
- Last post