如何在mysql中使用约束名称

时间:2017-09-16 08:58:44

标签: mysql sql

我尝试在oracle中创建带有约束名称的表并且它成功了,当我在mysql中尝试时,我得到#1064错误。
这是我的代码:

create table penerbit( 
   id_penerbit char(3) constraint id_pk PRIMARY KEY,
   nama_penerbit varchar(100) constraint nama_nn NOT NULL
);

1 个答案:

答案 0 :(得分:0)

在MySQL中,您不需要使用"约束"这个词。因此,以下内容应该适用于Oracle和MySQL:

$ x='*'

$ echo $x
..list of files..

$ echo '$x'
$x

$ echo "$x"
*

一个注意事项:Oracle优先create table penerbit( id_penerbit char(3) PRIMARY KEY, nama_penerbit varchar(100) NOT NULL ); 而不是varchar2()

如果要命名约束,可以在两个数据库中为主键添加单独的声明:

varchar()

或者你可以在线进行:

create table penerbit ( 
    id_penerbit char(3),
    nama_penerbit varchar(100) NOT NULL,
    constraint id_pk primary key (id_penerbit)
);

我不认为MySQL会让你命名create table penerbit ( id_penerbit char(3) constraint id_pk primary key, nama_penerbit varchar(100) NOT NULL ); 约束,尽管Oracle会这样做。