是否有必要为MySQL数据库中的主键声明"NOT NULL"约束?主键不能具有NULL值,因为它无论如何都会自动增量并自动填充字段记录.所以我说这是正确的意思是我可以删除主键的"NOT NULL"约束吗?
我已经为CakePHP框架创建了一个使用连接表的应用程序.
我不确定是否需要一个主键来uniquley标识连接表的每一行,如SQL的第一个块所示.
这两个字段是否需要设置为唯一键,还是可以将它们都设置为主键,我将id作为主键删除?
我还被问到为什么使用表约束而不是列约束来声明原子主键,这是否意味着我不应该为连接表设置唯一键?
CREATE TABLE IF NOT EXISTS `categories_invoices` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `category_id` int(11) NOT NULL,
  `invoice_id` int(11) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `category_id` (`category_id`,`invoice_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=163 ;
Run Code Online (Sandbox Code Playgroud)
我认为解决方案可能是将两个密钥设置为唯一,并删除主键,如下所示:
 CREATE TABLE IF NOT EXISTS `categories_invoices` (
      `category_id` int(11) NOT NULL,
      `invoice_id` int(11) NOT NULL,
      UNIQUE KEY `category_id` (`category_id`,`invoice_id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Run Code Online (Sandbox Code Playgroud)
我确实测试了删除连接表的主键'id',只留下'category_id'和'invoice_id',应用程序仍然有用.这使得两个字段都作为连接表中的唯一字段.这实际上是正确的做法吗?
您好我正在IE7中测试我的网站,并且创建帐户的橙色链接框未正确显示,橙色矩形的底部被切断.这是一个CSS修复?如果你有IE9,你可以在设置为IE7的F12>兼容模式下查看,并查看橙色按钮.
设置元素的规则在这里:
理想情况下,我需要一个CSS解决方案,以及它出错的原因 -
#home-content a {
  padding:6px;
  color: #FFFFFF;
  text-decoration: none;
  background-color: #DA7700;
  height:40px;
    font-family: Verdana, Arial;
 font-size: 14px;
}
Run Code Online (Sandbox Code Playgroud)