草庐IT

insert_coupon_query

全部标签

php - MySQL优化: Perform Maths operation inside or outside of a query?

我有一种强烈的感觉,所有对查询本身不必要的数学运算都应该在查询之外执行。例如:$result=mysql_query(SELECTa,a*b/casscoreFROMtable)while($row=mysql_fetch_assoc($result)){echo$row['a'].'score:'.$row['score'].;}对比:$result=mysql_query(SELECTa,b,cFROMtable)while($row=mysql_fetch_assoc($result)){echo$row['a'].'score:'.$row['a']*$row['b']/$ro

MySQL:如何在另一个 INSERT 中使用一个 INSERT 的结果

我需要在另一个插入中使用一个插入的结果键。MySQL可以吗? 最佳答案 mysql_insert_id返回您可以使用的最后插入记录的IDRetrievestheIDgeneratedforanAUTO_INCREMENTcolumnbythepreviousquery(usuallyINSERT). 关于MySQL:如何在另一个INSERT中使用一个INSERT的结果,我们在StackOverflow上找到一个类似的问题: https://stackoverf

MySQL:INSERT IGNORE 或 ON DUPLICATE KEY UPDATE 检查多个列而不是唯一列

如果存在包含特定值的行,我想插入行,如果不存在,则更新它。具体来说:user_id=5,user_zip=12345,distance=600列存在于数据库中。如果我尝试插入user_id=5,user_zip=12345,distance=700它应该只更新distance但我尝试插入user_id=5,user_zip=67890,distance=800它应该插入一个新行。我无法定义列user_zip和distance唯一,因此我可以使用重复键更新。 最佳答案 我认为您误解了ONDUPLICATEKEYUPDATE的工作原理。

php - mysql_query 成功返回 false

我在使用Windows7、WAMP2.2、MySQL5.5.16、Apache2.2.21和PHP5.3.8的开发环境中查询表单时遇到问题。每次我执行查询时,它都会返回一个错误:".YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousenear'INERTIGNOREINTOusers(username,hashed_password,email)VALUES('username',''atline1"我决定将我的问题放在顶部,以便

mysql - INSERT SELECT ON DUPLICATE UPDATE 的 SQL 语法

我想对一个表中的行进行分组和聚合,然后插入到另一个表中,然后更新聚合值。它的SQL命令是什么?INSERTINTOtbdetail(detail,views)(SELECTdetail,SUM(views)ASviewsallFROMtbGROUPBYdetail)//ONDUPLICATEKEYUPDATEviews=views+viewsall 最佳答案 在MySQL中,当使用INSERT...SELECT语句时,您可以使用VALUES()引用SELECT语句的值之一功能:INSERTINTOtbdetail(detail,vi

php - 也许 mysql_insert_id() 会返回意外的 id

也许我的问题很愚蠢,但关于mysql_insert_id()我想知道一件事。在php.net上是这样写的:RetrievestheIDgeneratedforanAUTO_INCREMENTcolumnbythepreviousquery(usuallyINSERT).如果在脚本到达使用mysql_insert_id()的行之前,另一个脚本在数据库中插入一些东西,这个函数的输出是什么?据我所知,它将返回最后插入的项目的ID(无论从哪里)。如果我是对的,我想知道如何避免这个问题,但是在执行插入查询时立即使用mysql_insert_id()(因为仍然有一点机会陷入“麻烦”)。

mysql - InnoDB 上的一个简单的 INSERT 查询花费太多

我有这个简单的查询:INSERTIGNOREINTObeststat(bestid,period,rawView)VALUES(4510724,201205,1)在table上:CREATETABLE`beststat`(`bestid`int(11)unsignedNOTNULL,`period`mediumint(8)unsignedNOTNULL,`view`mediumint(8)unsignedNOTNULLDEFAULT'0',`rawView`mediumint(8)unsignedNOTNULLDEFAULT'0',PRIMARYKEY(`bestid`,`period

php - PDO 事务是否涵盖 PDO::query()?

位于PHP.net的PDO交易示例表明PDO::exec()是事务处理的,但是没有这样的例子使用PDO::query()。事务是否涵盖PDO::query()?此外,据我所知,PDO::query()返回一个结果集。如果是事务处理的,怎么会有结果集,因为语句在提交之前不应该执行?(这是否意味着PDO::query()确实是not交易?)我似乎找不到官方引用资料来说明它是否是. 最佳答案 您误解了交易。事务只是保证操作是原子的:要么所有操作都成功,要么都不成功。一旦你开始一个事务,每个查询都会被执行,并且它会被记录在事务日志中。如果操

php - INSERT 语句之谜——mysql_query 返回 true,但数据库中没有新行出现

我一定是在做傻事。我已经对此问题进行了3天的故障排除,但没有成功。这是发送到mysql_query()的PHP字符串:insertintopost_replies(postID,fromID,toID,status)values($id,$userID,$toID,".g_unread.")在你说“啊哈,SQL一定有错误”之前,请注意以下两点:mysql_query()返回真(1)在发送到mysql_query()之前,我将字符串导出到一个文本文件(见下文)-如果我将导出的文本粘贴到同一个mysql_query()语句中,它工作正常(出现新行)-如果粘贴导出的文本进入phpMyAdmi

mysql - 插入非常大的 insert 到 mysql,max_packet_size

我们正在尝试安装manatee软件,但出现此错误。mysql-umanateecgspu-p--max_allowed_packet=4096MMysql确实设置了max_allowed_pa​​ckets,我们用mysql--help检查显示max_allowed_packet2147483648有什么办法可以避免这种情况吗?我不得不从初始数据库中删除那一行填充makefile甚至让它安装软件。现在我在数据库之外留下了一行,无法插入它。 最佳答案 编辑:您可能需要在服务器上设置max_allowed_pa​​cket。试试这个:(