Mysql
 sql >> база данни >  >> RDS >> Mysql

съставен първичен ключ и колона за автоматично нарастване, но НЕ първичен ключ

Едно решение за това е използването на ID като ваш първичен ключ и var1, var2, var3, year полета като алтернативен ключ с помощта на UNIQUE KEY ограничение

Така че дефиницията на вашата таблица ще изглежда така:

CREATE  TABLE `tbl_result` (
  `ID` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT ,
  `var1` DECIMAL(6,2) UNSIGNED NOT NULL ,
  `var2` DECIMAL(3,2) UNSIGNED NOT NULL ,
  `var3` INT(11) UNSIGNED NOT NULL ,
  `year` INT(4) UNSIGNED NOT NULL ,
  `result` DECIMAL(8,4) NOT NULL ,
  PRIMARY KEY (`ID`),
  UNIQUE KEY (`var1`, `var2`, `var3`, `year`) 
);

UNIQUE KEY ограничението ще предотврати дублиращи се вмъквания на вашите полета.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Използване на чужди ключове за замяна на ограничението за проверка

  2. Разделете низ и преминете през стойности в MySql процедура

  3. Как да откриете, че транзакцията вече е започнала?

  4. Присъединете се към две маси и извлечете най-ниската цена с множество условия (множество sku)

  5. Размерът на реда е твърде голяма грешка в заявката за създаване на таблица в mysql