Php 停止向表中插入值
我有两张桌子。一个是项目表,另一个是问题表。 问题表使用外键引用项\ id 我正在使用出库表向我的员工出库商品,并将商品数量扣除到我的商品表中。发布项目并扣除项目表上的数量没有问题,我想要的是当数量为零时,员工姓名将停止向发布表插入值。因为每次我尝试发出时,值都会插入到发出表中,即使项目表中的数量为零Php 停止向表中插入值,php,mysql,Php,Mysql,我有两张桌子。一个是项目表,另一个是问题表。 问题表使用外键引用项\ id 我正在使用出库表向我的员工出库商品,并将商品数量扣除到我的商品表中。发布项目并扣除项目表上的数量没有问题,我想要的是当数量为零时,员工姓名将停止向发布表插入值。因为每次我尝试发出时,值都会插入到发出表中,即使项目表中的数量为零 if row is greater than zero, do not proceed. else insert it to this table. 希望你能理解。粗略地说 $con=mysql
if row is greater than zero, do not proceed. else insert it to this table.
希望你能理解。粗略地说
$con=mysqli_connect(SERVER, DBUSER, DBPASS, DATABASE);
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql = "SELECT quantity FROM item WHERE item_id = 1;";
$result = mysqli_query($con,$sql);
$row = mysqli_fetch_array($result,MYSQLI_ASSOC);
if($row["quantity"] > 0) {
//insert
}
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 |
+----+---------+
请张贴您的密码。当($row=mysqli\u fetch\u assoc($result)时,
JOIN
或CASE
函数可能会有帮助你应该让MySQL用一个函数来处理这个问题。如果你想得到帮助,你应该显示你的表结构和数据。你可以使用触发器,也可以在INSERT本身中包含约束。嗨,谢谢你的支持。现在已经解决了。太好了。接受答案,或者自己提供答案,然后接受,或者删除这个问题