0

我有一个具有以下结构的证券价格表:

CREATE TABLE IF NOT EXISTS `security_prices` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `price_date` date NOT NULL,
  `ticker` varchar(36) NOT NULL,
  `price` decimal(10,6) NOT NULL,
  PRIMARY KEY (`id`)
)

id只是作为主键,没有其他用途。然而,很明显,虽然一个可以有很多条相同的记录ticker,你也可以有很多条相同的记录price_date,但没有两条记录应该同时有ticker相同price_date的。

我将如何在这两个字段上定义唯一约束,以及在处理任何完整性违规时插入数据库的最佳方法是什么?

我目前正在将 MySQL 与 phpmyadmin 一起使用。

4

1 回答 1

1

查询是::

ALTER TABLE `security_prices`ADD UNIQUE (ticker, price_date);

但在此之前,您需要确保两列的组合没有重复的行。

于 2013-10-25T08:46:07.680 回答