1
オリジナル質問:Database Design: need composite key + foreign keyデータベース設計:外部キーパート+複合キーを必要とする2
は、ここで私は必要なものです:
- として処理されるべき
Id
- 列
a
とb
の自動インクリメント値複合キー
SQL:
SET @[email protected]@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @[email protected]@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @[email protected]@SQL_MODE, SQL_MODE='TRADITIONAL';
CREATE SCHEMA IF NOT EXISTS `mydb` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
USE `mydb` ;
-- -----------------------------------------------------
-- Table `mydb`.`foo`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`foo` (
`id` INT NOT NULL AUTO_INCREMENT ,
`a` VARCHAR(45) NOT NULL ,
`b` VARCHAR(45) NOT NULL ,
PRIMARY KEY (`id`) ,
UNIQUE INDEX `a_UNIQUE` (`a` ASC) ,
UNIQUE INDEX `b_UNIQUE` (`b` ASC))
ENGINE = InnoDB;
SET [email protected]_SQL_MODE;
SET [email protected]_FOREIGN_KEY_CHECKS;
SET [email protected]_UNIQUE_CHECKS;
この挿入べき仕事に対する値、bが異なるため:
INSERT INTO `mydb`.`foo`
(`id`, `a`, `b`)
VALUES
(NULL, 'hello world', '1'),
(NULL, 'hello world', '2')
ないのはなぜSQLの仕事?