我有一个与 MySQL 交互的 java swing 应用程序,我希望能够创建允许用户使用该应用程序的许可证密钥,用户只能有一个许可证号,这是我迄今为止在 SQL 中所拥有的。
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 代码 Java 字符串中使用 sha1 到 SHA1