问题描述
我有一张桌子:
desc d;
+-------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| u1 | int(11) | NO | PRI | NULL | |
| u2 | int(11) | NO | PRI | NULL | |
| u3 | int(11) | YES | | NULL | |
+-------+---------+------+-----+---------+-------+
是代码:
show create table d;
| d | CREATE TABLE `d` (
`u1` int(11) NOT NULL,`u2` int(11) NOT NULL,`u3` int(11) DEFAULT NULL,UNIQUE KEY `u1` (`u1`,`u2`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
在这里,我使用了唯一性约束而不是空约束。它会自动转换为主键。你能解释为什么会这样吗?
即使在列约束中,
desc h;
+-------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| a1 | int(11) | NO | PRI | NULL | |
| a2 | int(11) | NO | UNI | NULL | |
+-------+---------+------+-----+---------+-------+
是代码:
show create table h;
| h | CREATE TABLE `h` (
`a1` int(11) NOT NULL,`a2` int(11) NOT NULL,UNIQUE KEY `a1` (`a1`),UNIQUE KEY `a2` (`a2`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
接受任何帮助
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)