我正在尝试创建一个表,该表在特定列中具有特定值的值。
CREATE TABLE employee2 (
ID numeric(5, 0),
F_name varchar(20) NOT NULL,
MI char(1),
L_name varchar(20) NOT NULL,
Add_street varchar(35) NOT NULL,
Add_city varchar(25) NOT NULL,
Add_state char(2) NOT NULL,
Add_zip numeric (5, 0),
Title varchar(20),
Type varchar(18)
);
我需要“类型”列仅允许3个内容“ python”,“ javascript”,“ html”。
我尝试创建域:
CREATE DOMAIN ee_type varchar(18) CONSTRAINT type_constraint CHECK (Type='python', 'javascript', 'html'));
我仍然收到此错误:
mysql> ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DOMAIN ee_type varchar(18) CHECK (Type='python'))' at line 1
任何帮助都会很棒,谢谢!
答案 0 :(得分:2)
MySQL当前不支持域。您可以找到有关here的更多信息。
相反,您可以像这样使用enum吗?
CREATE TABLE employee2 (
ID numeric(5, 0),
F_name varchar(20) NOT NULL,
MI char(1),
L_name varchar(20) NOT NULL,
Add_street varchar(35) NOT NULL,
Add_city varchar(25) NOT NULL,
Add_state char(2) NOT NULL,
Add_zip numeric (5, 0),
Title varchar(20),
Type ENUM('python', 'javascript', 'html')
);
答案 1 :(得分:0)
意识到我使用了错误的语言后,我能够使用以下格式来解析Postgresql:
CREATE DOMAIN ee_type varchar(18) CHECK (VALUE IN('software developer', 'administration', 'support staff'));
CREATE TABLE employee3 (
ID numeric(5, 0),
F_name varchar(20) NOT NULL,
MI char(1),
L_name varchar(20) NOT NULL,
Add_street varchar(35) NOT NULL,
Add_city varchar(25) NOT NULL,
Add_state char(2) NOT NULL,
Add_zip numeric(5, 0),
Title varchar(20),
Type ee_type
);