Tag: MySQL

SELECT COUNT()vs mysql_num_rows();

我有一个大桌子(60+)百万条logging。 我正在使用PHP脚本来浏览这个表格。 PHP脚本(与分页)加载非常快,因为: 表引擎是InnoDB,因此SELECT COUNT()非常慢,而mysql_num_rows()不是一个选项,所以我保留在一个单独的表中的总行数(我用来生成分页的数量)(我更新这个loggingtotal_rows=total_rows-1 DELETE和INSERT期间total_rows=total_rows-1和total_rows=total_rows1+1 )。 但问题是如何处理search结果的分页? 现在我用两个步骤来做这个: 1。 $condition = " fname='rinchik' "; $result = "SELECT * FROM my_large_table WHERE" . $condition; 在这里,我从DataBase获得所有search结果。 现在我需要把这些结果计算在一起来创build分页。 我正在这样做: $condition; <- we already have this from the step 1 $result_count = "SELECT COUNT(id) FROM my_large_table WHERE" . $condition; 而且有点慢。 如果我这样做(只要一步),会更好吗? $condition = " fname='rinchik' "; $result = […]

如何形成一个正确的MySQL连接string?

我正在使用C#,我试图连接到00webhost托pipe的MySQL数据库。 我得到错误的线connection.Open() : 这个参数没有mysql主机。 我已经检查,一切似乎都很好。 string MyConString = "SERVER=mysql7.000webhost.com;" + "DATABASE=a455555_test;" + "UID=a455555_me;" + "PASSWORD=something;"; MySqlConnection connection = new MySqlConnection(MyConString); MySqlCommand command = connection.CreateCommand(); MySqlDataReader Reader; command.CommandText = "INSERT Test SET lat=" + OSGconv.deciLat + ",long=" + OSGconv.deciLon; connection.Open(); Reader = command.ExecuteReader(); connection.Close(); 这个连接string有什么问题?

一个表中有多个等级

我需要以下,任何人都可以请帮我做到这一点。 Rank Cust_Type Cust_Name Revenue 1 Top A 10000 2 Top B 9000 3 Top C 8000 1 Bottom X 5000 2 Bottom Y 6000 3 Bottom Z 7000 我需要单独的排名顶部和底部Cust_Type,这一切都在MySQL中。

如何计算逗号分隔列表MySQL中的项目

所以我的问题很简单: 我有一个SQL列这是一个逗号分隔的列表(即cats,dogs,cows, ),我需要计数在其中的项目数只使用SQL(所以无论我的function是什么(现在让我们称之为FX)将工作喜欢这个: SELECT fx(fooCommaDelimColumn) AS listCount FROM table WHERE id=… 我知道这是有缺陷的,但你明白了(如果fooCommaDelimColumn的值是cats,dogs,cows, ,那么listCount应该返回4 …)。 就这些。

用PHP在一个语句中执行多个SQL查询

如何将这些多个查询合并为一个(我可以吗?) $query = "DELETE FROM aktywne_kody WHERE kodsms ='$kodSMSgracza' AND typkodu ='$id'"; mysql_query($query) or die(mysql_error()); $query = "INSERT INTO uzyte_kody (gracz, kodsms, typkodu) VALUES ('$nickGracza', '$kodSMSgracza', '$id')"; mysql_query($query) or die("Błąd MySQL X04"); $query = "INSERT INTO do_odebrania (gracz, itemDATA, itemQTY) VALUES ('$nickGracza', '$itemDATA', '$itemQTY')"; mysql_query($query) or die("Błąd MySQL X05"); 顺便说一句,如果我做mysql_close($ db)所有查询完成后更好吗?

设置PDO默认引发exception

我总是希望PDO在发生错误时抛出exception,因为我总是使用PDO,如下所示: try { $dbh = new PDO("mysql:host=$kdbhost;dbname=$kdbname",$kdbuser,$kdbpw); $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // some queries } catch (PDOException $e) { error_log('PDO Exception: '.$e->getMessage()); die('PDO says no.'); } 这将是很好,如果有一个configuration文件,我可以编辑,使PDO默认抛出exception – 这可能吗? 我想要这个的原因是我不必每次写这行: $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 更新 – 我自从创build了一个为我处理数据库访问的库(包括设置PDO来抛出exception)。

拆分关键字后的PHP MySQL

我有一个表存储邮政编号,它的标签如: Post_id | Tags ————————————– 1 | keyword1,keyword2,keyword3 我想循环这个表格中的每一行,并执行: 把关键字1,关键字2,关键字3放在新表中: word_id | word_value ————————- 1 | keyword1 2 | keyword2 3 | keyword3 得到mysql_insert_id()foreach(或者如果word_value已经存在,则存在word_id),然后放入新表中,如: post_id | word_id —————— 1 | 1 1 | 2 1 | 3 我已经使用PHP和MySQL做这个任务,但这是慢慢的。 任何人有好主意?

如何使用jQuery / AJAX和PHP / MySQL根据第一个下拉列表select第二个下拉列表?

我正在尝试使用jQuery / AJAX和PHP / MySQL创build一组dynamic的下拉框。 当页面基于来自数据库的值加载时,第一个下拉框将被填充。 第二个下拉框应显示一组基于从第一个下拉框中select的值。 我知道在这里曾经有类似的问题,但是我还没有find符合我的情况的解决scheme。 我的查询生成第二个下拉列表的JSON编码值列表正在运行,但我有问题填充到实际的下拉表单元素。 任何想法,我要去哪里错了。 使用Javascript: <script> $().ready(function() { $("#item_1").change(function () { var group_id = $(this).val(); $.ajax({ type: "POST", url: "../../db/groups.php?item_1_id=" + group_id, dataType: "json", success: function(data){ //Clear options corresponding to earlier option of first dropdown $('select#item_2').empty(); $('select#item_2').append('<option value="0">Select Option</option>'); //Populate options of the second dropdown $.each( data.subjects, function(){ $('select#item_2').append('<option […]

mysqlselecttop n最大值

你如何从表格中select前n个最大值? 对于这样的表格: column1 column2 1 foo 2 foo 3 foo 4 foo 5 bar 6 bar 7 bar 8 bar 对于n = 2,结果需要是: 3 4 7 8 下面的方法只select每个组的最大值。 SELECT max(column1) FROM table GROUP BY column2 返回: 4 8

MySQL的SUM组

我有类似的表格 表 (cat_name,amount); 如何获得每个cat_name的总和由cat_name分组