ユーザーが自分の製品のライセンスを購入したとき、新しい30日間に残りの日数を追加しようとしています。MySQL別のクエリの結果を使用する
SELECT
SUM(DATEDIFF(access_expires, CURDATE())) + 30 as access_remaining
FROM wp_woocommerce_downloadable_product_permissions
WHERE
user_email = '[email protected]' AND
product_id = 8 AND access_expires IS NOT NULL;
UPDATE wp_woocommerce_downloadable_product_permissions
SET
access_expires = DATE_ADD(CURDATE(), access_remaining)
WHERE
user_email = '[email protected]' AND
product_id = 8 AND
access_expires IS NULL
2番目のクエリで以前のクエリからaccess_remainingを使用することはできないようです。可能であれば、参加を使わずに助けてください。それが何かを意味するなら、mariadbを使う。
このようなエイリアスは再利用できません。あなたが気にしていることに最も近いのは、更新可能なCTEですが、MySQLはサポートしていません。 –
これは 'SET access_expires = DATE_ADD(access_expires、INTERVAL 30 DAY)'とまったく同じものではありませんか? –