草庐IT

insert-query

全部标签

mysql - 自动将 INSERT 语句转换为 UPDATE 的简单方法?

我想使用mysqldump的输出来更新实时数据库中的条目。我不想先删除条目,简单的更新语句就可以了。有没有一种简单的方法可以将包含INSERT语句的mysqldump的输出转换为相应的UPDATE语句?这似乎是一个基本功能,所以我敢肯定有人创建了一个工具或想出了一个快速完成它的方法,这样人们就不必一直重新发明轮子,每个人都编写自己的脚本这个。编辑:我正在寻找一种通用解决方案,而不是我必须手动枚举实际表列的解决方案。这是一个一般性问题,所以我认为应该有一个独立于表的解决方案。 最佳答案 您可以将mysqldump数据恢复到新的临时数据

php - mysqli_query - 返回值

我正在使用PHP函数mysqli_query运行SELECT查询。如果查询运行成功但查询找不到匹配项,mysqli_query返回什么? 最佳答案 根据manual:ReturnsFALSEonfailure.ForsuccessfulSELECT,SHOW,DESCRIBEorEXPLAINqueriesmysqli_query()willreturnamysqli_resultobject.Forothersuccessfulqueriesmysqli_query()willreturnTRUE.运行但未返回结果的查询仍被视为“

python - 无法通过 MySQLdb 在 Python 脚本中执行 INSERT 语句

我正在尝试使用MySQLdb从Python脚本对MySQL表执行基本的INSERT语句。我的表看起来像这样:CREATETABLE`testtable`(`id`int(11)NOTNULLAUTO_INCREMENT,`testfield`varchar(255)NOTNULL,PRIMARYKEY(`id`))从MySQL命令行运行这个查询工作正常:INSERTINTO`testtable`(`id`,`testfield`)VALUES(NULL,'testvalue');但是当我尝试从Python脚本执行查询时,没有插入任何行。这是我的代码:conn=MySQLdb.conne

PHP MySQL INSERT 1-3,000 行尽可能快速高效

我正在寻找使用PHP将1-3,000行INSERT行插入MySQL数据库的最快方法。我当前的解决方案大约需要42秒来插入行,我认为这可能会快得多。我正在使用自己编写的数据库类,insert()方法有两个参数(string)$table和(array)$vars。$items数组是一个关联数组,其中键是表中的列名,值是要插入的值。这非常有效,因为我有时在一个表中有30列,并且已经将数据放在一个数组中。insert()方法如下:functioninsert($table,$vars){if(empty($this->sql_link)){$this->connection();}$cols

mysql - 根据行在 MySQL 中是否存在执行 UPDATE 或 INSERT

在MySQL中,我试图找到一种有效的方法来在表中已存在行时执行更新,或者在行不存在时执行插入。到目前为止,我发现了两种可能的方法:最明显的一个:打开一个事务,SELECT查找该行是否存在,如果不存在则INSERT,如果存在则UPDATE,提交事务首先将INSERTIGNORE插入表中(因此如果该行已存在则不会引发错误),然后是UPDATE第二种方法避免了交易。您认为哪个更有效,有没有更好的方法(例如使用触发器)? 最佳答案 INSERT...ONDUPLICATEKEYUPDATE 关于

php - 如何在 Laravel 4 中使用 UPDATE 或 INSERT?

我正在Laravel4中构建一个应用程序,我需要运行多个查询作为UPDATE或INSERT查询,以避免在重复插入时违反PK。我一直无法找到任何方法来使用Laravel中的查询构建器来执行此操作。我可以修改数据库类或类似的东西吗?还是我只需要编写纯SQL语句? 最佳答案 现在我们可以使用User::updateOrCreate() 关于php-如何在Laravel4中使用UPDATE或INSERT?,我们在StackOverflow上找到一个类似的问题: htt

php - LAST_INSERT_ID() 如何在多用户环境下工作

先检查那个问题:Insertinganautomaticallygeneratedindexfromatableintoanothertable我知道这个函数“LAST_INSERT_ID()”执行所需的操作问题是:我在php脚本中使用它,如果某个用户在“table1”中插入数据,并且在他将“id”插入“table2”之前,另一个用户将数据插入“table1”...那么哪个“id”函数会检索第一个用户,他的id还是第二个用户“最后一个”的id??我希望检索用户自己“第一个用户”插入的“id”,如果没有实现怎么办? 最佳答案 LAST

php - 自定义分类 WP_Query

我正在尝试显示具有自定义分类法的自定义帖子类型,但我没有任何运气。什么都没有出现。感谢您的帮助。帖子类型=图库自定义分类slug=photoarea我要显示的'photoarea'=fourth'gallery','tax_query'=>array(array('taxonomy'=>'photoarea','field'=>'fourth',)),'posts_per_page'=>10,);$the_query=newWP_Query($args);if($the_query->have_posts()):while($the_query->have_posts()):$the_

php - 在 PDO(使用 MySQL)中执行 INSERT 后获取最后插入的行?

当将一个新对象(作为一行)插入MySQL数据库时,我想取回最后插入的行(id并不总是足够的,因为我想在一些INSERT没有任何的通用函数中使用它自动递增的ID)。我需要它来成功返回完整的对象,可能是数据库创建的ID、时间戳,或者在某些情况下只是我在插入之前知道的值-所以PDO::lastInsertId不能解决问题。$query="INSERTINTOtable(".$colinsert.")VALUES(".$colbind.")";$stmt=$this->db->prepare($query);$ex=$stmt->execute();//...if$exwassuccessfu

php - 为什么 mysqli::multi_query 在一定数量的行后停止?

我正在尝试使用multi_query在表上运行相当大量的更新/插入。总共有大约14,000个查询,但该函数只执行了大约480个,然后它停止而没有错误,PHP继续执行下面片段之外的脚本:if($this->db->conn_id->multi_query($sql)){do{//echo$line.''.mysqli_sqlstate($this->db->conn_id).'';}while($this->db->conn_id->more_results()&&$this->db->conn_id->next_result());$this->message->set('Import