小编Yad*_*ada的帖子

复合索引的第一列是否需要另一个索引?

我们在 MySQL 中有下表。

CREATE TABLE `user_team` (
    `user_id` int(11) NOT NULL,
    `team_id` int(10) unsigned NOT NULL DEFAULT '0',
    PRIMARY KEY (`user_id`,`team_id`),
    KEY `user_id` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Run Code Online (Sandbox Code Playgroud)

KEY user_id (user_id)这里需要吗?我记得在某处读到过,复合索引的第一列自动有一个索引。好像找不到来源。

mysql sql indexing

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

选择varchar列的最小日期

我的表的日期列是VARCHAR而不是datetime.

例如

entry
'03/01/2011'
'03/22/2011'
'05/22/2010'
Run Code Online (Sandbox Code Playgroud)

当我做的时候

SELECT min(entry) FROM table
Run Code Online (Sandbox Code Playgroud)

我会得到'03/01/2011',因为它是字母顺序的分钟.我想要检索'05/22/2010'而不是最小日期.如何将列转换为datetime并获取最小值.

谢谢

sql sql-server

3
推荐指数
2
解决办法
3342
查看次数

PHP自定义排序

我正在尝试对一系列值进行排序.

数组中可能的值是'neg_infinity',... {real numbers},..,'infinity'

<?php
$a = array(
  array('column' => 3),
  array('column' => -1),
  array('column' => 1),
  array('column' => .1),
  array('column' => 2),
  array('column' => 'infinity'),
  array('column' => 'neg_infinity'),
  array('column' => 'infinity'),
);
Run Code Online (Sandbox Code Playgroud)

我想要:

    $a = array(
      array('column' => 'neg_infinity'),
      array('column' => -1),
      array('column' => .1),
      array('column' => 1),
      array('column' => 2),
      array('column' => 3),
      array('column' => 'infinity'),
      array('column' => 'infinity'),
    );
Run Code Online (Sandbox Code Playgroud)

我一直在玩uasort.

有谁解决了他的问题?


测试驱动程序

<?php
function cmp($a, $b) {
    if ($a == $b) {
        return 0;
    } …
Run Code Online (Sandbox Code Playgroud)

php

3
推荐指数
2
解决办法
147
查看次数

Laravel检查输入

Laravel输入助手有

输入::有("调试")

我的问题是我经常使用查询参数而没有http://example.com?debug这样的值

问题是Input :: has('debug')在这种情况下将返回false,因为没有值.即.调试= 1

所以我最终不得不使用isset($_GET['debug']).

是否有laravel方法来检查输入是否设置?

php laravel

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

避免使用Laravel的别名

我想知道使用Laravel的别名功能是否有任何优点或缺点.我能想到的唯一优势是它可以节省打字.缺点是大多数IDE在没有ide-helper包的情况下无法智能化别名.

而不是使用别名:

use Session;
use Request;
use Input;
Run Code Online (Sandbox Code Playgroud)

输入完整路径:

use Illuminate\Support\Facades\Session;
use Illuminate\Support\Facades\Request;
use Illuminate\Support\Facades\Input;
Run Code Online (Sandbox Code Playgroud)

编辑:

作为一项惯例,我决定通过以下方式直接评估Laravel别名:

\ Session :: get()\ Request :: get()\ Input :: get()等

这样我就不会在每个类的顶部丢弃use语句.

laravel laravel-4 laravel-5

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

SQL通过选择加入几个count(*)组

我有下表包含6/49彩票的中奖号码.

+-----+------------+----+----+----+----+----+----+-------+
|  id | draw       | n1 | n2 | n3 | n4 | n5 | n6 | bonus |
+-----+------------+----+----+----+----+----+----+-------+
|   1 | 1982-06-12 |  3 | 11 | 12 | 14 | 41 | 43 |    13 |
|   2 | 1982-06-19 |  8 | 33 | 36 | 37 | 39 | 41 |     9 |
|   3 | 1982-06-26 |  1 |  6 | 23 | 24 | 27 | 39 |    34 |
| …
Run Code Online (Sandbox Code Playgroud)

sql

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

MySQL世界数据库试图避免子查询

我正在使用MySQL WORLD数据库.

对于每个大陆,我想返回人口最多的国家的名称.

我能够提出一个有效的查询.尝试查找仅使用连接的另一个查询并避免使用子查询.

有没有办法使用JOIN编写此查询?

SELECT Continent, Name
FROM Country c1
WHERE Population >= ALL (SELECT Population FROM Country c2 WHERE c1.continent = c2.continent);

+---------------+----------------------------------------------+
| Continent     | Nanme                                         |
+---------------+----------------------------------------------+
| Oceania       | Australia                                    |
| South America | Brazil                                       |
| Asia          | China                                        |
| Africa        | Nigeria                                      |
| Europe        | Russian Federation                           |
| North America | United States                                |
| Antarctica    | Antarctica                                   |
| Antarctica    | Bouvet Island                                |
| Antarctica    | …
Run Code Online (Sandbox Code Playgroud)

mysql sql greatest-n-per-group

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

哪两个查询会更快?

SELECT * FROM table WHERE col IN (1,2,3)
Run Code Online (Sandbox Code Playgroud)

要么

SELECT * FROM table WHERE col = 1 OR col = 2 OR col = 3
Run Code Online (Sandbox Code Playgroud)

sql query-optimization

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

实现字母数字 ID 的最佳方式

我注意到短 URL 站点使用字母数字 id 而不是整数作为 unqiue id。

有没有人有实施的经验?在 MySQL 中实现此功能的最佳方法是什么?我相信棘手的部分可能是 id 的增量和索引。

例子: bit.ly/AbC123

mysql sql

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

屏蔽信用卡号码

在PHP中屏蔽信用卡号的最佳方法是什么?

信用卡号码无需有效.所以不需要做Luhn算法.只要它匹配模式,就用XXXXXXXX替换它.

到目前为止我所拥有的:

<?php

$str = "The quick brown fox jumps over 5192696222257727 dog.";

$credit_card_re = '/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6011[0-9]{12}|622((12[6-9]|1[3-9][0-9])|([2-8][0-9][0-9])|(9(([0-1][0-9])|(2[0-5]))))[0-9]{10}|64[4-9][0-9]{13}|65[0-9]{14}|3(?:0[0-5]|[68][0-9])[0-9]{11}|3[47][0-9]{13})*$/';
Run Code Online (Sandbox Code Playgroud)

php

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

php和MySQL:2个请求或1个请求?

我正在使用MySQL作为我的数据库在php中构建一个wepage.

哪种方式更快?

  1. 使用folling查询向MySQL发出2个请求.

    SELECT FROM FROM FROM;
    SELECT sum(points)FROM data;

  2. 1请求MySQL.将结果保存在临时数组中并在php中计算总和.

    $ data = SELECT指向FROM数据;

编辑 - 数据大约200-500行

php mysql

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

查询最新的最新用户ID

我有一张桌子,内容如下.这些名字并不是唯一的.

userid, name
1, dave
2, john
3, mike
4, mike
5, dave
Run Code Online (Sandbox Code Playgroud)

我想返回具有最高用户ID的唯一名称.

即.

2, john
4, mike
5, dave
Run Code Online (Sandbox Code Playgroud)

这样做的查询是什么?

mysql sql

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

Javascript条件使用await of not

有没有办法可以编写这段代码,而无需调用 axios 的所有重复代码?

export const handler = async (event, useAwait) => {
  const { path, data } = JSON.parse(event);

  if (useAwait) {
    return await axios(`https://example.com/api${path}`, {
      method: 'post',
      headers: {
        'api-key': key,
      },
      data: data,
    });
  } else {
    // non-blocking
    axios(`https://example.com/api${path}`, {
      method: 'post',
      headers: {
        'api-key': key,
      },
      data: data,
    });
    return true;
  }
};
Run Code Online (Sandbox Code Playgroud)

javascript asynchronous

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