Kev 建议这个问题(/sf/ask/736748701/)更适合这里。
我知道 phpMyAdmin 可以显示 MySQL vars 和类似内容的列表。
但是我很想有一个脚本来显示,例如,如果 MySQL 配置或一些图形工具有问题来查看当前的 MySQL 健康状态。
有这样的事情吗?例如,我如何知道当前设置是否对我的机器不利?
假设我将 innodb 缓冲池大小设置为 64MB,而我的一个 INNODB 表是 1GB。这一点都不好。这只是 innodb 池大小的一个例子。我认为可能还有许多其他设置需要注意基于 Web 的脚本可以帮助监控。
我想申请CYCLE一个BIGSERIAL在phpPgAdmin的。
我已经看到如何通过查询来实现,但我更愿意通过 phpPgAdmin 来实现。
这可以用 phpPgAdmin 完成吗?如果是这样,如何?如果没有,如何CYCLE应用于预先存在的BIGSERIAL列?
我有一个名为( conntrack )的数据库,其中包含未知数量的表。我有一个静态表“tabidx”,其中有一列“日期”。
下表是静态的,其名称为 tabidx,提供对其他表的引用:
tabidx (table):
+------------+
| date |
+------------+
| 2015-04-25 |
| 2015-04-26 |
| 2015-04-27 |
| 2015-04-28 |
| 2015-04-29 |
+------------+
Run Code Online (Sandbox Code Playgroud)
以下是“tabidx”“date”中引用的表的示例:
2015-04-25 (table):
+---------------------------------------------+
| time | username | srcip | scport |
+---------------------------------------------+
| 19:20:00 | L001000 | 10.10.10.1 | 1304 |
| 19:20:00 | L001001 | 10.10.10.2 | 1640 |
| 19:20:01 | L001002 | 10.10.10.3 | 2001 |
+---------------------------------------------+
2015-04-26 (table):
+---------------------------------------------+
| time | username | srcip | …Run Code Online (Sandbox Code Playgroud) 我有一个categories表,它有两列,id和name.
我有一个types表,其中包含三列id,category_id和points。
我有一个products表,其中包含三列id,type_id和customer_id。
这意味着每个产品都有一个类型,每个类型都有一个类别。一个品类有多种类型,一种类型有多种产品。
我正在使用 MySQL 和 PHP。
从 PHP 中,给定customer_id,我想知道客户在每个类别中分别拥有多少分(例如,向用户显示一个表格)。
我的解决方案:我首先会做一个查询来查找所有类别 id,然后对于每个category_id我会找到该类别中的所有类型(即,所有具有给定 的类型category_id);然后对于每一个,type_id我会计算有多少产品同时具有那个type_id和给定的customer_id,我会把那个数量乘以给定的点数type_id。将每个结果的所有结果相加type_id,我最终得到了给定客户在这方面的总分category_id。正如我所说,我必须为每个category_id. 我的解决方案会起作用,但在我看来它会非常慢。我正在寻找有关如何以更好的方式解决此问题的建议 - 使用更少的查询,或更快的查询,或两者兼而有之。 按照现在的方式,它可能会执行与类别数量一样多的查询。
例子:
/* TABLE: categories */
name id
A 1
B 2
C 3
/* TABLE: types */
points id category_id …Run Code Online (Sandbox Code Playgroud) 看了很多链接,对于电商网站来说,因为可能需要定期添加很多属性,如果我们使用Flat table可以吗?
在项目中间更改数据库架构或插入/删除新列和表的缺点是什么?
如果我们在数据库中保留大量 NULL 值,还会有什么问题吗?
因为我听说 EAV 是邪恶的,所以我想创建一个带有平面桌子的购物网站....
我正在使用 php 的 mssql 扩展(在 linux 上)向 SQL Server 发送查询。
我有一个表格,可以相当快地建立一次性数据。我花了比预期更长的时间来构建一个 cron 每小时清理这些数据,所以它已经积累了几个月来超过 1G 的数据,不确定有多少行,但可能超过 100 万。
因此,我对超过 1 天的任何内容运行了删除查询。
DELETE FROM CacheForms WHERE TimeStamp < 1503454349
Run Code Online (Sandbox Code Playgroud)
但是在 60 秒后查询超时并且脚本失败。(更新同样发生在 10 分钟。)
当这个删除查询超时(一个 php 概念)数据库会发生什么?数据库是否从事务日志中恢复已删除的数据?还是数据真的被删除了?或者查询是否在 sql server 中继续运行?
添加新类别和更改现有类别时,我需要为类别设置自定义顺序。我相信代码和 sql 查询在两种情况下都是相同的。在我的webshop_categories-table 中,我有一个so-column(排序顺序 INT),我用它来确定应将类别输出给查看器的顺序。
这是我的类别表外观的简化示例(so = sort_order):
id | name | so
--------------------
1 | Shoes | 1
2 | Hats | 2
3 | Bags | 3
4 | Coats | 4
5 | Rings | 5
Run Code Online (Sandbox Code Playgroud)
添加新类别时,无需定义排序顺序,我只需提交一个表单,然后运行如下查询:
$so = $dbh->query('SELECT (MAX(so)+1) FROM webshop_categories WHERE so != 0')->fetchColumn();
$ins = $dbh->prepare('INSERT INTO webshop_categories (name, so)')->execute([$_POST['name'], $so]);
Run Code Online (Sandbox Code Playgroud)
(这将添加一个新类别,并将其放在最后。在这种情况下,so将设置为 6)
这是添加新类别的非常基本的方法。工作正常。但是在大多数情况下,在处理类别时,需要将其按特定顺序进行展示。
但通常在添加新类别时,人们会希望指定该新类别相对于现有类别应放置的位置。那时更新so-column 对我来说是一个脑筋急转弯......
我用于添加新类别的简化表格:
<form>
<input type="text" name="name">
<select name="so">
<option value="0" …Run Code Online (Sandbox Code Playgroud) MySQL Query Failed: Expression #6 of SELECT list is not in GROUP BY clause and contains nonaggregated column
Run Code Online (Sandbox Code Playgroud)
使用以下查询修复了此错误。通过以 root 用户身份登录 MySQL 控制台
SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
Run Code Online (Sandbox Code Playgroud)
但问题是每次我重新启动系统时这个错误都会重新出现。如何解决这个问题?
我正在制作一个博客 cms 系统,帖子的发布日期和时间应该显示在我的网站上。
我应该使用函数将日期时间保存在 php 代码中并将其保存在数据库中的 varchar 中,还是应该通过使用 DATETIME 使用数据库的默认值。
哪种方法更专业/更有效
对于我的系统,学生需要通过填写注册表(个人、联系方式和课程详细信息;还有用户名和密码)来创建一个用户帐户。
我需要通过一个表单收集注册数据,并将收集到的数据插入到我数据库中的两个相关表中(student表中的所有学生详细信息和users)。
我如何最好地在 php 中编码?

我有 2 个查询,我想将它们一起使用以向用户生成一个输出结果。输出向用户描述了从 A 到 B 的旅程。当我尝试将两个查询与UNION以下内容结合时,我不断收到语法错误:
Run Code Online (Sandbox Code Playgroud)Query failed: ERROR: syntax error at or near "UNION" LINE 6: UNION ^
我看过一个类似的问题,但提供的解决方案和讨论似乎不起作用。
$name = pg_escape_string($_POST['name']); // Start destination from user input
$name2 = pg_escape_string($_POST['name2']); // End destination from user input
//If no results are given, the following query below will execute instead.
if (pg_num_rows($result) == 0 ) {
$query = "SELECT dt1.name as name1,dt1.time as time1,dt2.name as name2,dt2.time as time2
From departure_times as dt1
inner join departure_times as dt2 …Run Code Online (Sandbox Code Playgroud) 我的数据库中有以下列:
abc
1
2
null
100
6
Run Code Online (Sandbox Code Playgroud)
我想按照以下顺序对这些值进行排序和显示:
1
2
6
100
abc
null
Run Code Online (Sandbox Code Playgroud)
任何人请帮我解决它。考虑以下查询:
select * from test_table where status=1 order by test_column DESC
Run Code Online (Sandbox Code Playgroud)
或者
select * from test_table where status=1 order by if((test_column = '' OR test_column IS NULL),'999999',test_column) DESC
Run Code Online (Sandbox Code Playgroud) php ×12
mysql ×9
postgresql ×2
count ×1
eav ×1
join ×1
performance ×1
select ×1
sorting ×1
sql-server ×1
union ×1
update ×1