php - 插入 IF 条件,ELSE 什么都不做,MySQLi

标签 php mysql if-statement sql-update

我正在使用 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/

相关文章:

PHP 搜索 url 请求

php - 如何用另一个替换 mysql 数据库中特定值的所有实例?

java - 字符类型的 if/else 语句

r ifelse date 不添加天数

php - preg_match 不接受新行

php - 将数字转换为 5 位数字字符串

mysql - 使连接表的行成为主查询的字段名称和值?

mysql - 为什么我的 mysql 不授予用户权限?

python - 在Python中批量插入MySQL

python - 我如何打印这个 elif 字符串