MySQL 的字段名称可以用空白字符

今天被一个 Bug 困住好久,可能是之前自己的手误造成!!

原因就是...MySQL 的字段名称竟然可以使用空白字符,而且还可以放在第一个字符,我真是学艺不精!!

经测试,连资料表的名称也可以使用空白字符:

CREATE TABLE ` test table` (
` field 1` TINYINT NOT NULL ,
PRIMARY KEY ( ` field 1` )
) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_unicode_ci;

上面看得出我在资料表与字段的名称都用了空白字符吗? 而且还是放在第一个字符!

我想,如果想要陷害别人绝对可以用 MySQL 这一招。

至于处理空白字段名称的问题,你可以:

  1. 将错误的字段名称改掉。
  2. 存取资料表与字段时,在前后加上 ` `,例如: ` test table`.` field 1`。

 

  1. No comments yet.

  1. No trackbacks yet.

return top

%d 位部落客按了赞: