ჷჷჷMySQL 4-1.기기기기기기기기,기기기기기기
13828 ワード
1.プライマリ・キーの詳細の重複しない一意の値 のみを許可する. NULL値 は許可されていません.各テーブルには、1つのプライマリ・キー しか指定できません.繰返し制限、NULL値
外部キーの追加 💡 外部キーはNULL値であるか、親テーブルのデフォルトキー値と同じである必要があります. ビジネスでsectionsの外部キーを設定し、実行します.
制約説明注記NO ACTION、RESTRICTサブテーブルにこの外部キーが含まれている場合、CASCADEサブテーブルの行もSET NULLサブテーブルの外部キーをNULLとして修正/削除し、サブテーブルの外部キーがNOT NULLである場合、SET DEFAULTサブテーブルの外部キーをデフォルト値として設定することはできず、InnoDBエンジンでは使用できません.
💡 企業の外部キーをRESTRICTとCASCADEに変換し、次の操作を行います.
-- 기본키 넣는 방법 1
CREATE TABLE people (
first_name CHAR(2) PRIMARY KEY,
last_name CHAR(3),
nickname VARCHAR(10)
);
-- 기본키 넣는 방법 2
CREATE TABLE people (
first_name CHAR(2),
last_name CHAR(3),
nickname VARCHAR(10),
PRIMARY KEY (first_name)
);
プライマリ・キーの変更ALTER TABLE people DROP PRIMARY KEY;
ALTER TABLE people ADD PRIMARY KEY (last_name);
複数のプライマリ・キーCREATE TABLE people (
first_name CHAR(2),
last_name CHAR(3),
nickname VARCHAR(10),
PRIMARY KEY (first_name, last_name)
);
INSERT INTO PEOPLE VALUES('홍', '길동', '별명');
INSERT INTO PEOPLE VALUES('전', '우치', '별명');
INSERT INTO PEOPLE VALUES('전', '길동', '별명');
INSERT INTO PEOPLE VALUES('홍', '우치', '별명');
INSERT INTO PEOPLE VALUES('홍', '길동', '별명');
INSERT INTO PEOPLE VALUES('전', '우치', '별명');
2.一意鍵の詳細について-- 고유키 넣는 방법 1
CREATE TABLE people (
person_id INT AUTO_INCREMENT PRIMARY KEY,
first_name CHAR(2) UNIQUE,
last_name CHAR(3)
);
-- 고유키 넣는 방법 2
CREATE TABLE people (
person_id INT AUTO_INCREMENT PRIMARY KEY,
first_name CHAR(2),
last_name CHAR(3),
UNIQUE (first_name)
);
-- 다중 고유키
CREATE TABLE people (
person_id INT AUTO_INCREMENT PRIMARY KEY,
first_name CHAR(2),
last_name CHAR(3),
UNIQUE (first_name, last_name)
);
3.外部キー外部キーの追加
ALTER TABLE _자식테이블명
ADD CONSTRAINT _제약명
FOREIGN KEY ( _자식테이블외래키 )
REFERENCES 부모테이블명 ( _부모테이블기본키 )
-- ON DELETE _삭제시제약
-- ON UPDATE _수정시제약
外部キーの削除ALTER TABLE _자식테이블명 DROP FOREIGN KEY _자식테이블외래키
INSERT INTO businesses
(fk_section_id, business_name, status, can_takeout)
VALUES ('8', '섹션에없는식당', 'OPN', '1');
外部キーコンストレイント制約説明注記NO ACTION、RESTRICTサブテーブルにこの外部キーが含まれている場合、CASCADEサブテーブルの行もSET NULLサブテーブルの外部キーをNULLとして修正/削除し、サブテーブルの外部キーがNOT NULLである場合、SET DEFAULTサブテーブルの外部キーをデフォルト値として設定することはできず、InnoDBエンジンでは使用できません.
💡 企業の外部キーをRESTRICTとCASCADEに変換し、次の操作を行います.
DELETE FROM sections WHERE section_id = 1;
DELETE FROM sections WHERE section_id = 2;
UPDATE sections SET section_id = 10
WHERE section_id = 3;
UPDATE sections SET section_id = 11
WHERE section_id = 4;
Reference
この問題について(ჷჷჷMySQL 4-1.기기기기기기기기,기기기기기기), 我々は、より多くの情報をここで見つけました https://velog.io/@sshin/MySQL-4-1テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol