我正在使用 PHP 后端,使用 MySQLi 对象来使用准备好的语句。但是,我有一个问题,我需要这样的查询:
IF ( SELECT count(*) FROM table <= 3)
INSERT INTO table2 VALUES(5,2)
// dont do anything if (SELECT count(*) FROM table > 3)
一开始就给出语法错误,无法理解哪里出了问题?
最佳答案
让 MySQL 来做肮脏的工作,并尽可能避免与数据库通信。
转到 19.2. Using Stored Routines (Procedures and Functions)并学习那些类似于 PL/SQL 的技巧。当您有多个相互依赖的查询时,您会发现更容易解决问题。
经过一些学习后,您将能够编写存储过程,在插入表之前检查逻辑表达式。
类似的东西(语法可能在这里失控 - 只是例子):
CREATE PROCEDURE myProcedure(IN myCap INT)
BEGIN
DECLARE rowCount INT;
SELECT count(*) FROM table INTO rowCount;
IF rowCount <= myCap THEN
INSERT INTO [...]
END IF;
END;
关于php - 插入 IF 条件,ELSE 什么都不做,MySQLi,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10236182/