首页 > 解决方案 > 停止向表中插入值

问题描述

我有两张桌子。一个是项目表,另一个是问题表。问题表使用对 item_id 的外键引用。

我正在使用发放表向我的员工发放项目并将项目数量扣除到我的项目表中。发放项目并扣除项目表上的数量没有问题,我想要的是当数量变为零时,员工姓名将停止向问题表插入值。因为每次我尝试发出该值时,即使项目表中的数量为零,该值也会插入到发出表中。

if row is greater than zero, do not proceed. else insert it to this table.

希望你能理解。

标签: phpmysql

解决方案


粗鲁...

DROP TABLE IF EXISTS my_table;

CREATE TABLE my_table (id SERIAL PRIMARY KEY,balance INT NOT NULL);

INSERT INTO my_table VALUES (1,100);

INSERT INTO my_table (balance) SELECT MIN(balance-50) FROM my_table HAVING MIN(balance-50) >= 0;

SELECT * FROM my_table;
+----+---------+
| id | balance |
+----+---------+
|  1 |     100 |
|  2 |      50 |
+----+---------+

INSERT INTO my_table (balance) SELECT MIN(balance-50) FROM my_table HAVING MIN(balance-50) >= 0;

SELECT * FROM my_table;
+----+---------+
| id | balance |
+----+---------+
|  1 |     100 |
|  2 |      50 |
|  3 |       0 |
+----+---------+

INSERT INTO my_table (balance) SELECT MIN(balance-50) FROM my_table HAVING MIN(balance-50) >= 0;

SELECT * FROM my_table;
+----+---------+
| id | balance |
+----+---------+
|  1 |     100 |
|  2 |      50 |
|  3 |       0 |
+----+---------+

推荐阅读