草庐IT

Insert-Update

全部标签

PHP MySQL UPDATE 语句不工作

我有一个带有表(opendpu)的MySQL数据库,该表包含多个列,包括标题为“ECRNUM”和“PE_REQUIRED”的列。我只是想通过指定一些值来测试这个更新语句。我收到此错误:Array([0]=>42000[1]=>1064[2]=>YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousenear'DOEWHEREECRNUM=81308'atline1)在我的一生中,我无法弄清楚这里出了什么问题。谁能帮忙?exec("SE

php - 确定 SQL UPDATE 是否更改了列的值

我有一个包含名为myTextColumn的文本列的表。仅当UPDATE更改了值时,我才想在PHP应用程序中执行某些操作。我没有使用触发器。除了以下方法之外,还有更好的方法吗?谢谢functionupdateTable($data){$sql='SELECTidFROMmyTableWHEREid=:idANDmyTextColumn!=:myTextColumn';$stmt=db::db()->prepare($sql);$stmt->execute($data);if($stmt->fetchColumn()){$sql='UPDATEmyTableSETmyTextColumn=

mysql - UPDATE 的目标表不可更新

我需要运行这个查询:UPDATETempRHTJOIN(SELECToffices_id,MAX(Poids)ASPoidsFROMTempRHGROUPBYoffices_id)T1ONT1.offices_id=T.offices_idSETT1.Poids=0但是在执行时会报错:#1288-ThetargettableT1oftheUPDATEisnotupdatable.有什么解决办法吗? 最佳答案 在我看来,一个小改动就能解决这个问题?UPDATETempRHTJOIN(SELECToffices_id,MAX(Poids

PHP MySQL Insert Into & On Duplicate Key 问题

我的代码/语法有误吗?我不确定哪里出了问题并且对此很陌生。我在PHPMyAdmin中创建了一个表。它有两列。一个是“id”,是主键/自增。另一列是“steamname”。这段代码应该获取一个人的在线姓名并将其输入数据库。如果已经有记录,无论如何都应该使用相同/最新的名称更新它。在phpmyAdmin中表的名字是namessteamID;//Enternameintodatabseandoverwriteitifsame/duplicate$con=mysqli_connect("localhost","username","password","databaseName");//Che

php - PDO 有效 SELECT 和 INSERT

我是PHP和PDO的初学者。下面的代码有效,但速度非常非常慢。有什么办法可以提高效率吗?while()效率不高,但可以完成工作。我尝试过其他解决方案,但没有任何效果。有什么建议吗?publicfunctionregister_new_member(){global$bcrypt;global$populera;$query=$this->db->prepare("SELECTid,lid,firstname,surnameFROM`members`");try{$query->execute();while($data=$query->fetch()){$id=$data['id'];

PHP 抓取;保存为 MySQL Insert 的变量

我成功地抓取了一个网站以从页面中获取空格分隔的数据:$html=file_get_contents("http://www.somewebsite.com");$scores_doc=newDOMDocument();$scores_doc->loadHTML($html);$scores_path=newDOMXPath($scores_doc);$scores_row=$scores_xpath->query('//td[@class="first"]');foreach($scores_rowas$row){echo$row->nodeValue."";}示例输出:23Crimm

mysql - INSERT INTO ... SELECT 如果目标列有一个生成的列

有一些表:CREATETABLE`asource`(`id`int(10)unsignedNOTNULLDEFAULT'0');CREATETABLE`adestination`(`id`int(10)unsignedNOTNULLDEFAULT'0',`generated`tinyint(1)GENERATEDALWAYSAS(id=2)STOREDNOTNULL);我从asource复制一行到adestination:INSERTINTOadestinationSELECTasource.*FROMasource;以上会产生错误:ErrorCode:1136.Columncount

mysql - UPDATE 可以用不同的方式写吗?

我一直在努力想出如何使这个UPDATE查询更简单,但已经到了我无法弄清楚的地步。如果它们等于id,我希望能够将school_id_2或school_id_3或school_id_4更改为零>在这种情况下是25。我希望能够在不运行所有单独更新的情况下执行此操作。是否可以在一个UPDATE中完成此操作?查询:$query="UPDATEpupil_blog_quad_overview,pupil_blog_quadSETpupil_blog_quad_overview.accepted='0',pupil_blog_quad_overview.school_id='0',pupil_blo

php - Codeigniter insert_batch 限制问题

我正在使用codeigniterinsert_batch()函数,而不是使用简单的插入来循环数据。我的行数约为390,其中只有100行插入,因为codeigniter(或mysql)不允许在单个查询中插入超过100行。然后我用array_chunk函数将100乘以100分开,如下所示:$all_hafars=array_chunk($hafar_co,100);foreach($all_hafarsas$hafar){$this->db->insert_batch('hafar_co',$hafar);}同样只有100个插入!有什么想法吗?编辑:我什至将简单的insert函数与tran

php - 在允许 INSERT 尝试之前重复检查 mysql 表中的数据

在使用以下代码将用户输入的html表单插入mysql数据库之前,我尝试对其进行数据重复检查(主要来自:BestwaytotestifarowexistsinaMySQLtable):$serialNo=$_POST['serialNo'];$sqldupe="SELECTEXISTS(SELECT1FROMeqptWHEREserial='$serialNo')";if(mysqli_query($dbcon,$sqldupe)){die('RECORDalreadyexists');}但即使我尝试输入数据库表eqpt中不存在的$serialNo,我也会不断收到错误消息。我确实使用UN