【发布时间】:2011-06-14 21:05:08
【问题描述】:
我的 mysql 表中有一个主键,它由三列组成。
CREATE TABLE IF NOT EXISTS `bb_bulletin` (
`OfficeCode` int(5) NOT NULL,
`IssuerId` int(11) NOT NULL,
`BulletinDtm` datetime NOT NULL,
`CategoryCode` varchar(4) NOT NULL,
`Title` varchar(255) NOT NULL,
`Content` text NOT NULL,
PRIMARY KEY (`OfficeCode`,`IssuerId`,`BulletinDtm`),
UNIQUE KEY `U_IssuerId` (`IssuerId`,`OfficeCode`,`BulletinDtm`),
UNIQUE KEY `U_CategoryCode` (`CategoryCode`,`OfficeCode`,`IssuerId`,`BulletinDtm`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
是否有一种速记方法可以为给定的主键值选择记录。
我试过了。
SELECT * FROM `bb_bulletin` WHERE PRIMARY = '20001-1-2011-01-07 14:04:40'
而不是长手的做法,
SELECT * From bb_bulletin WHERE OfficeCode = 20001 AND IssuerId = 1 AND BulletinDtm = 2011-01-07 14:04:40
在您的表中处理 php 和复合键时的标准是什么。 注意:我不想在我的表中添加自动递增键来解决这个问题。如果不可能,那么我将在我的 url 中传递三个约束。
【问题讨论】:
标签: mysql composite-primary-key