MySQL と対話する Java Swing アプリケーションがあり、ユーザーがアプリケーションを使用できるようにするライセンス キーを作成できるようにしたいのですが、ユーザーはライセンス番号を 1 つしか持つことができません。
CREATE TABLE User (
id INT AUTO_INCREMENT NOT NULL,
License VARCHAR(100) NOT NULL,
PRIMARY KEY(id)
);
CREATE TABLE Address (
id INT AUTO_INCREMENT NOT NULL,
LicenseNumber VARCHAR(255) NOT NULL,
FOREIGN KEY (LicenseNumber) REFERENCES User(id),
PRIMARY KEY(id)
);
これは正しい解決策ですか?また、SQLで実際のライセンス番号を生成する良い方法は何ですか?
これが私の質問に対する私の解決策です:これがSQLです:
CREATE TABLE User(
id int NOT NULL auto_increment primary key,
LicenseID VARCHAR(100) NULL,
CONSTRAINT fk_license_number FOREIGN KEY (LicenseID) REFERENCES License(LicenseNumber)
);
CREATE TABLE License(
id INT AUTO_INCREMENT NOT NULL,
LicenseNumber VARCHAR(100) NOT NULL UNIQUE,
PRIMARY KEY (ID)
);
LicenseNumber については、先に進み、Java コードで sha1 を使用しました Java String to SHA1