私はこのテーブルを作成しました:
CREATE TABLE Hospital_MedicalRecord(
recNo CHAR(5),
patient CHAR(9),
doctor CHAR(9),
enteredOn DATETIME NOT NULL,
diagnosis LONGTEXT NOT NULL,
treatment TEXT(1000),
PRIMARY KEY (recNo, patient),
CONSTRAINT FK_patient FOREIGN KEY (patient) REFERENCES Hospital_Patient(NINumber),
CONSTRAINT FK_doctor FOREIGN KEY (doctor) REFERENCES Hospital_Doctor(NINumber)
ON DELETE CASCADE
);
diagnosis
長いテキストを含めることができますが、2 ^ 24バイトを超えることはできませんか?調べてみましたLONGTEXT
が、2 ^ 34まで上がる可能性があるため、制限する方法が見つかりませんでした。
を使用しMEDIUMTEXT
ます。
https://dev.mysql.com/doc/refman/8.0/en/string-type-overview.html
MEDIUMTEXT [CHARACTER SET charset_name] [COLLATE collation_name]
TEXT
最大長が16,777,215(2 24 − 1)文字の列。値にマルチバイト文字が含まれている場合、有効な最大長は短くなります。各MEDIUMTEXT
値は、値のバイト数を示す3バイトの長さのプレフィックスを使用して格納されます。
言葉遣いは少し奇妙です。長さの制限は、実際には文字ではなくバイトにあります。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加