小编use*_*434的帖子

检查PHP 5.6中类的数组常量中是否存在元素

如何设置像A\B :: X ['Y'] ['Z']这样的常量元素?

<?php

namespace A;

class B
{
    const X = [
        'Y' => [
            'Z' => 'value'
        ]
    ];
}

var_dump(defined('\A\B::X') && isset(\A\B::X['Y']['Z']));
Run Code Online (Sandbox Code Playgroud)

Fatal error: Cannot use isset() on the result of an expression (you can use "null !== expression" instead) in [...] on line 13

php constants

9
推荐指数
2
解决办法
1685
查看次数

MySQL索引中的'name'和'symbol'是什么?

主键定义可以具有可选的符号值,而唯美键可以同时具有符号和名称.这些是什么,它们的区别是什么?使用它们的最佳做法是什么?

mysql database indexing unique primary-key

4
推荐指数
1
解决办法
459
查看次数

如何防止并发事务中数据库死锁?

场景:

事务A开始...

START TRANSACTION;
UPDATE table_name SET column_name=column_name+1 WHERE id = 1 LIMIT 1;
Run Code Online (Sandbox Code Playgroud)

与此同时,事务B开始......

START TRANSACTION;
UPDATE table_name SET column_name=column_name+1 WHERE id = 2 LIMIT 1;
UPDATE table_name SET column_name=column_name-1 WHERE id = 1 LIMIT 1;
COMMIT;
Run Code Online (Sandbox Code Playgroud)

现在,事务 B 正在等待行 1,该行被锁定在事务 A 中。

交易A继续进行……

UPDATE table_name SET column_name=column_name-1 WHERE id = 2 LIMIT 1;
COMMIT;
Run Code Online (Sandbox Code Playgroud)

现在我们遇到了死锁,因此两个事务都在等待对方解锁它们想要更新的行:'(

正如我在标题中所问的,我们如何防止 RDBMS 事务中的死锁?

我认为解决这种情况的唯一方法是我们回滚事务B并重新执行它。但是我们如何才能发现自己陷入了僵局,并立即摆脱困境,如何保证我们不会陷入死循环(例如,在非常繁重的 Web 应用程序上)。

如果有必要,我会使用 MySQL。但任何适用于其他 RDBMS 的解决方案都是受欢迎的 - 帮助其他从 Google 来到这里的人:)

sql transactions database-deadlocks

4
推荐指数
1
解决办法
8486
查看次数

如何在 Percona 中使用 XtraDB 和 TokuDB?

经过多次尝试,我终于使用 Homebrew 在我的 Macbook 上安装了 Percona 并通过 MySQL Workbench 成功连接到它,但是当我想创建 XtraDB 表时:

Operation failed: There was an error while applying the SQL script to the database.
Executing:
CREATE TABLE `TestSchema`.`TestTable` (
  `ID` BIGINT(0) UNSIGNED NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`ID`))
ENGINE = XtraDB;

ERROR 1286: Unknown storage engine 'XtraDB'
SQL Statement:
CREATE TABLE `TestSchema`.`TestTable` (
  `ID` BIGINT(0) UNSIGNED NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`ID`))
ENGINE = XtraDB
Run Code Online (Sandbox Code Playgroud)

TokuDB 也有同样的错误。

我读过 Percona 支持 XtraDB 和 TokuDB 以及 InnoDB。我应该在某处激活主题吗?!

mysql xtradb mariadb percona tokudb

3
推荐指数
1
解决办法
1532
查看次数

如何禁用网页中的视频/音频下载?

我有一个网站,上面放了我的视频/音频。我使用 HTML5 和标签来显示视频。view source但客户端打开页面然后复制文件地址即可下载视频/音频。如何禁用下载这些文件,我只想客户端在网页中看到视频/听到音频。

许多在线视频/音频服务(例如 Youtube)禁止通过这种方式下载视频。他们是怎么做到的?有什么可行的方法可以阻止或至少使这一进展变得更加困难?

html javascript html5-video html5-audio

3
推荐指数
1
解决办法
4034
查看次数

索引 csv 文件中的列

我有一个很大的 csv 文件,每行都有不同的列,例如 ID、用户名、电子邮件、工作职位等。

我想按完全匹配(用户名 == David)或通配符(jobPosition == %admin)搜索一行。

我想索引此文件中的列以加快搜索速度,但我不知道应该选择哪种算法(特别是通配符)。

csv algorithm indexing performance search

1
推荐指数
1
解决办法
4290
查看次数