由于不区分大小写,MySQL插入会抛出指定两次的列

时间:2016-02-03 13:34:43

标签: mysql insert

据我所知,MySQL应该能够在unix系统上处理区分大小写的列名。虽然可以创建两个名称仅区分大小写的列(我希望这是正确的术语),但INSERT似乎有问题。

让我举个例子:

CREATE TABLE test (id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (ID));
ALTER TABLE test ADD `u` INT NOT NULL DEFAULT 0;
ALTER TABLE test ADD `U` INT NOT NULL DEFAULT 0;

一切都很好! MySQL创建一个表并添加两列。第一个名为u,第二个名为U。 因此,大概MySQL可以处理区分大小写的列名。

但是像这样一个简单的插入命令

INSER INTO test (`U`,`u`) VALUES (1,1);

抛出错误消息

ERROR 1110 (42000): Column 'U' specified twice

这看起来有点不稳定:首先接受这些列名,然后拒绝插入。 有谁知道为什么会这样?

顺便说一句,MySQL版本是mysql Ver 14.14 Distrib 5.5.41, for debian-linux-gnu (x86_64) using readline 6.3

0 个答案:

没有答案