小编Yas*_*uru的帖子

如何在MySQL Workbench中隐藏/查看结果网格?

我在Windows上使用MySQL Workbench.我执行一个查询,我得到了结果.是否有任何选项或热键来隐藏/查看结果网格而不是一次又一次地执行查询?

请帮帮我.

mysql-workbench

45
推荐指数
4
解决办法
4万
查看次数

没有 GROUP BY 子句的 MySQL 聚合函数

在 MySQL 中,我观察到尽管没有 GROUP BY 子句,但在 SELECT 列表中使用 AGGREGATE FUNCTION 的语句会被执行。如果我们这样做,其他 RDBMS 产品(如 SQL Server)会抛出错误。

例如,SELECT col1,col2,sum(col3) FROM tbl1;在没有任何错误的情况下执行并返回 col1、col2 的第一行值和 col3 的所有值的总和。上述查询的结果是单行。

谁能告诉为什么 MySQL 会发生这种情况?

提前致谢!!

mysql sql-server

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

SQL Server - BIT数据类型问题

我的SQL Server 2012中有一个表如下,

CREATE TABLE TEST (ID INT,NAME VARCHAR(100),STATUS BIT);
Run Code Online (Sandbox Code Playgroud)

我错误地插入了这样的数据

INSERT INTO TEST SELECT 1,'A',2;
Run Code Online (Sandbox Code Playgroud)

当我查询结果时,我发现列"STATUS"存储"1".无论我插入什么值而不是"0",它都存储"1".我觉得如果我将列定义为BIT,那么它不应该允许插入除0和1之外的任何值.

是否有任何跟踪标志限制这种插入?我现在正在使用SQL Server 2012 SP3.

sql-server sqldatatypes

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

MySQL中的where子句魔术

我在MySQL中找到了一些令我惊讶的东西.我创建了一个表并将记录插入其中,如下所示,

CREATE TABLE `test` (
   `ID` int,
   `NAME` varchar(100)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO test VALUES (1,'a'),(2,'b'),(3,'c');
Run Code Online (Sandbox Code Playgroud)

现在,我对此运行两个SELECT查询,如下所示,

select * from test where id;

select * from test where name;
Run Code Online (Sandbox Code Playgroud)

我注意到这些查询不会抛出语法错误,但" 第一个 "选择查询返回结果,select * from test; 而" 第二个 " 查询 不返回任何结果.这意味着如果where子句包含" 整数 "列,我会得到一个结果集,而如果where子句包含" varchar "列,则不会得到任何结果集.

谁能告诉我这是MySQL中的错误还是功能?还解释我为什么会这样.

提前致谢!

mysql where-clause

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

perl中的$$实际上会返回什么?

我是Perl的新手,从一开始就学习.我已经读过这些$$回报

运行此脚本的Perl进程的pid.

根据以下链接,

http://www.tutorialspoint.com/perl/perl_special_variables.htm

我有以下在Windows机器上执行的Perl脚本,

sub test
{
    my ($surrogate_name) = @_;
    if((defined $surrogate_name) && ($surrogate_name == 1))
    {
        print "Done!"."\n";
    }
    return $surrogate_name;
}

sub t
{
    my ($surrogate_name) = @_;
    my $record;
    my $surrogate_value;
    $record = &test($surrogate_name);
    print $record."\n";
    if ($record)
    {
        print "B"."\n";
        $surrogate_value = $$record{$surrogate_name};
    }
    print $surrogate_value."\n";
    print "A"."\n";
    return $surrogate_value;
}

&t(1);
Run Code Online (Sandbox Code Playgroud)

在这段代码中,我观察到除了值的所有内容都被打印出来$surrogate_value.

请告诉我$$实际上意味着什么,以及为什么它不会在我的脚本中返回任何内容.

提前致谢...

perl

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

MySQL - max_binlog_cache_size vs binlog_cache_size

在MySQL的官方文档中,对这些变量的描述存在很多混淆.

根据它,max_binlog_cache_size意味着,

如果事务需要超过这么多字节的内存,则服务器生成的Multi语句事务需要超过'max_binlog_cache_size'字节的存储错误.

max_binlog_cache_size仅设置事务高速缓存的大小

和binlog_cache_size意味着,

用于在事务期间保留对二进制日志的更改的缓存大小.

binlog_cache_size仅设置事务高速缓存的大小

在阅读文档时,我发现这两者之间没有区别.在文档中也有一些非常令人困惑的事情,比如

在MySQL 5.7中,max_binlog_cache_size会话的可见性与binlog_cache_size系统变量的会话可见性相匹配; 换句话说,更改其值只会影响在值更改后启动的新会话.

当我查询服务器变量时,它会显示两者.我有MySQL 5.6和MySQL 5.7.我需要知道的是,我应该考虑哪个变量并为哪个服务器配置.

用于MySQL 5.6的binlog_cache_size和用于MySQL 5.7的max_binlog_cache_size ??

还有其他与此相关的混淆变量max_binlog_stmt_cache_size和binlog_stmt_cache_size.

mysql mysqlbinlog

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