Tag: MySQL

PDO支持多个查询(PDO_MYSQL,PDO_MYSQLND)

我知道PDO不支持在一个语句中执行多个查询。 我一直在Googleing,发现有几篇文章谈论PDO_MYSQL和PDO_MYSQLND。 PDO_MySQL比其他传统的MySQL应用程序更危险。 传统的MySQL只允许一个SQL查询。 在PDO_MySQL中没有这样的限制,但是你有被多次查询注入的风险。 来自: 使用PDO和Zend Framework防止SQL注入 (2010年6月,由Julian提供) 看起来像PDO_MYSQL和PDO_MYSQLND确实提供了对多个查询的支持,但我无法find更多关于它们的信息。 这些项目是否中断? 现在有什么办法可以使用PDO运行多个查询。

PHP + MySQL事务的例子

我真的没有find正在使用MySQL交易的PHP文件的正常例子。 你能告诉我一个简单的例子吗? 还有一个问题。 我已经做了很多编程,并没有使用交易。 我可以把一个PHP函数或什么东西在header.php ,如果一个mysql_query失败,那么其他人也失败了? 我想我已经明白了,是不是? mysql_query("SET AUTOCOMMIT=0"); mysql_query("START TRANSACTION"); $a1 = mysql_query("INSERT INTO rarara (l_id) VALUES('1')"); $a2 = mysql_query("INSERT INTO rarara (l_id) VALUES('2')"); if ($a1 and $a2) { mysql_query("COMMIT"); } else { mysql_query("ROLLBACK"); }

删除MySQL中除了一个之外的所有重复行?

可能重复: 删除MySQL中的重复行 我如何删除MySQL表中的所有重复数据? 例如,用以下数据: SELECT * FROM names; +—-+——–+ | id | name | +—-+——–+ | 1 | google | | 2 | yahoo | | 3 | msn | | 4 | google | | 5 | google | | 6 | yahoo | +—-+——–+ 我将使用SELECT DISTINCT name FROM names; 如果它是一个SELECT查询。 我怎样才能做到这一点与DELETE删除重复只保留每个logging?

仅当值不存在时才返回行

我有2桌 – 预订: id | some_other_column —-+—————— 1 | value 2 | value 3 | value 和第二个表 – reservation_log: id | reservation_id | change_type —-+—————-+————- 1 | 1 | create 2 | 2 | create 3 | 3 | create 4 | 1 | cancel 5 | 2 | cancel 我只需要select未取消的预订(在本例中只有ID 3)。 我可以很容易地select取消与一个简单的“WHERE change_type =取消”条件,但我努力与NOT取消,因为简单的WHERE在这里不工作。

mysqli_query需要至less2个参数

这个mysqli_query命令导致下面的错误 mysqli_query("INSERT INTO `counter`.`hits` (`page_hits`) VALUES ('".$hits."')"); “警告:mysqli_query()需要至less2个参数,1在” 这个错误信息是什么意思,怎么解决?

MySQL中的CHECK约束不起作用

首先我创build了一个表 CREATE TABLE Customer ( SD integer CHECK (SD > 0), Last_Name varchar (30), First_Name varchar(30) ); 然后在该表中插入值 INSERT INTO Customer values ('-2','abc','zz'); MySQL不显示错误,它接受了值。

如何做更新查询中的3表JOIN?

我问了一个问题,得到了这个答复,帮助。 UPDATE TABLE_A a JOIN TABLE_B b ON a.join_col = b.join_col AND a.column_a = b.column_b SET a.column_c = a.column_c + 1 现在我正在寻找这样做,如果有3桌涉及这样的事情。 UPDATE tableC c JOIN tableB b JOIN tableA a 我的问题是基本上…这是可能做一个UPDATE语句3表连接? 和它是什么正确的语法? 谢谢。 我要做… JOIN tableB, tableA JOIN tableB JOIN tableA

find两个纬度/长点之间距离的最快方法

我目前在mysql数据库中只有一百万个位置,都有经度和纬度信息。 我试图通过查询find一个点和许多其他点之间的距离。 它不像我想要的那样快,特别是每秒100次以上。 有没有更快的查询或可能是一个更快的系统而不是MySQL呢? 我正在使用这个查询: SELECT name, ( 3959 * acos( cos( radians(42.290763) ) * cos( radians( locations.lat ) ) * cos( radians(locations.lng) – radians(-71.35368)) + sin(radians(42.290763)) * sin( radians(locations.lat)))) AS distance FROM locations WHERE active = 1 HAVING distance < 10 ORDER BY distance; 注意:提供的距离以英里为单位 。 如果你需要公里 ,使用6371而不是3959 。

MyISAM与InnoDB

我正在处理一个涉及很多数据库写入的项目,我会说( 70%的插入和30%的读取 )。 这个比例还将包括我认为是一个阅读和一个写作的更新。 读取可能很脏(例如,在阅读时我不需要100%准确的信息)。 有关任务将每小时进行超过100万次的数据库事务。 我在网上读了一大堆关于MyISAM和InnoDB之间差异的东西,MyISAM似乎是我将用于这个任务的特定数据库/表的显而易见的select。 从我看来,InnoDB是好的,如果事务是需要的,因为行级locking是支持的。 有没有人有这种types的负载(或更高)的经验? MyISAM是否要走?

我应该使用字段“date时间”还是“时间戳”?

你会推荐使用date 时间或时间戳字段,为什么(使用MySQL)? 我在服务器端使用PHP。