草庐IT

while语句

全部标签

java - 将SQL语句转换为mySQL存储过程

我有一段SQL可以计算出高尔夫球手在排行榜上的排名。我是Spring的新手,我认为我无法使用SpringJDBC执行此操作,因此我认为我需要将其转换为mySQL存储过程。谁能给我一些关于我需要转换什么的指示?简单地放置CREATEPROCEDURE和围绕它的参数列表是行不通的。SET@rank=1,@prev_val=NULL,@prev_rank=NULL;SELECTrankFROM(SELECT@rank:=IF(@prev_val!=winnings,@prev_rank+1,@rank)ASrank,@prev_val:=winningsASwinnings,@prev_ra

php - 将原始查询转换为准备好的语句

假设我有1995年的时尚函数,用于向mysql发送查询。我对我的项目有很多查询,我正在寻找一个能够解析原始查询的函数/类(假设:SELECTfoofrombarwherepizza='hot'LIMIT1)并用php创建一个准备好的语句。你有什么建议吗?这值得么?还是重写所有查询更好?我的项目有424个查询,这只是SELECT谢谢你的帮助 最佳答案 试试这个:functionprepare1995Sql_EXAMPLE($sqlString){#regexpattern$patterns=array();$patterns[0]='

mysql - ORDER BY 优化是否在下面的 SELECT 语句中生效?

我有一个要优化的SELECT语句。mysql-orderbyoptimization表示在某些情况下索引不能用于优化ORDERBY。具体点:YouuseORDERBYonnonconsecutivepartsofakeySELECT*FROMt1WHEREkey2=constantORDERBYkey_part2;让我想到,情况可能就是这样。我正在使用以下索引:UNIQUEKEY`met_value_index1`(`RTU_NB`,`DATETIME`,`MP_NB`),KEY`met_value_index`(`DATETIME`,`RTU_NB`)使用以下SQL语句:SELECT

php - 在函数中编写 MySQLi 准备语句的正确方法?

准备好的陈述好的,我刚刚开始了解MySQLi准备好的语句。这对我来说是一大步,因为我对MySQL和PHP还是很陌生,所以我对这个概念的理解非常脆弱(可能需要一个小时左右),所以你的答案必须用类似的措辞表达,对此感到抱歉.我想知道的是我是否正确地编写了准备好的语句。没有什么比学习一种不正确的方法并习惯它,从而导致整个项目的编码效率低下更糟糕的了。要点:我有一个注册用户的函数,然后返回插入的ID,因此它是用户的引用ID。之前,我只是简单地查询数据库,尽管使用了mysql_real_escape_string()和类似的安全措施,但我被告知存在安全风险。现在,它看起来像这样:(为了这个问题,

mysql - 如何在 MySQL UPDATE 语句中模拟 OFFSET?

我有一个MySQL数据库表,其中包含文章ID(主键)和文章标题。我想从表中删除重复的标题,但保留第一次出现的标题。我最初只是简单地查询了所有重复的标题:SELECTtitle,count(id)AScountFROMarticlesGROUPBYtitleHAVINGcount>1然后我使用foreach循环和这个命令将所有重复的标题替换为空白:UPDATEarticlesSETtitle=''WHEREtitle='$duplicate_title'我想更新articles表并替换所有重复的标题,除了第一个条目,基于文章IDASC,使用类似这样的东西。问题是OFFSET似乎在UPDA

php - 是否可以使用 PHP "if"语句对 SELECT 查询的结果来确定是否执行 INSERT 查询会导致意外的数据重叠?

我是一名学生,这是我第一次编写软件。它是LAMP堆栈上的Web应用程序,作为该Web应用程序的一部分,我编写了以下函数以在创建新用户时与数据库交互:publicfunctionCreateUser($username,$password,$email){global$DBHandler,$SQLStatement;$SQLStatement=$DBHandler->prepare("SELECTidFROMusersWHEREusername=:usernameANDverified>0");$SQLStatement->bindParam(':username',$username)

php - 包含在 while 循环中

我确信我无法解决这个问题是因为我对php的某些方面缺乏了解,但我已经尝试解决它一个月了,但没有成功。这是问题的简化版本。在我的数据库中,我有一个成员表、一个child表(每个成员的child)和一个friend请求表(其中包含children互相发送的friend请求)。我正在尝试做的是使用以下while循环显示特定parent的child......$query="SELECT*Fromchildren"."WHEREparent_member_id=$member_id";$result=mysql_query($query)ordie(mysql_error());$num_ch

mysql - mysql 过程中的更新语句不起作用

这是我的程序代码。我试图通过将旧用户名放在where子句中来更新用户名。但它不起作用。DELIMITER$$DROPPROCEDUREIFEXISTS`databasename`.`UpdateUsername`$$CREATEDEFINER=`root`@`localhost`PROCEDURE`UpdateUsername`(INunameVARCHAR(30),tidVARCHAR(100),usernameVARCHAR(30))BEGINUPDATEtable_nameSETUsername=usernameWHEREUsername=uname;END$$DELIMITER

mysql - "IN"语句的更快替代方案?

我对MySQL不是很好,所以我经常发现自己在准备有效的次优查询,但我知道效率肯定低得可怕。我希望你们能给我一些指示,说明为什么以下查询不能很好地工作,以及我应该使用什么方法来完成类似的查询。我有以下表结构:TABLEFilesfiles_id=>INT(12),PRIMARY,AUTOINCREMENT,NOTNULLfiles_name=>VARCHAR(255),NOTNULL(someotherfieldssuchasfiletypeetc)TABLEFile_Permissionsperm_id=>INT(12),PRIMARY,AUTOINCREMENT,NOTNULLper

MYSQL语句快速select group from n :n table

我有一个n:n的数据集(例如,'程序员'和'语言'。程序员用多种语言编写代码,而一种语言可以被许多程序员使用)。此数据在表programmers_languages中我如何快速选择使用一组语言编写代码的程序员?如果这令人困惑,请提供更多信息:Jon使用C++、Pascal和Ruby编写代码。Joe使用C++和Ruby编写代码。Ruby和Pascal中的萌代码。Steve使用C++和Pascal编写代码。如果所讨论的语言集是C++和Pascal,我希望Jon和Steve不在这个列表中。请注意,这个集合的大小可能会变得非常大,所以我不想将表与其自身连接n次。 最