我在mySQL中有一个表,其中'id'列是PRIMARY KEY:
CREATE TABLE `USERS` (
`ID` mediumint(9) NOT NULL auto_increment,
.....
PRIMARY KEY (`ID`),
KEY `id_index` (`ID`)
) ENGINE=MyISAM AUTO_INCREMENT=267 DEFAULT CHARSET=latin1;
Run Code Online (Sandbox Code Playgroud)
我还添加了一个索引如下:
CREATE INDEX id_index ON USERS (id);
Run Code Online (Sandbox Code Playgroud)
我需要这样做吗?或者主键是否自动编入索引?
最终目的是加速在表USERS的id列上加入的查询.
谢谢
我正在尝试在 MySQL 中构造一个查询,该查询连接一堆二进制字段,然后给出 DECIMAL 形式的结果。
例如:
SELECT CONCAT (setting1, setting2, setting3) AS settings;
Run Code Online (Sandbox Code Playgroud)
可能给了我:
101
111
110
Run Code Online (Sandbox Code Playgroud)
我想将此值传递给一个函数(转换?强制转换?),该函数将为我提供相应的 DECIMAL 值:
5
7
6
Run Code Online (Sandbox Code Playgroud)
cast()我已经尝试了和的几种组合convert(),但还没有破解它。
我在这行代码中收到警告:
$mismatch = ($_ =~ s/[^\x0]//g);
Run Code Online (Sandbox Code Playgroud)
在 xxxxxx.pl 第 61 行忽略了非法的十六进制数字 ']'。正则表达式对我来说是有效的,请问是什么导致了这个错误?这是它不喜欢的正确方括号。
谢谢!