将MySQL CREATE TABLE语法转换为Postgresql

时间:2014-10-13 05:04:30

标签: mysql database postgresql

我是MySQL新手,想了解以下CREATE TABLE代码:

CREATE TABLE IF NOT EXISTS label_gtin (
  LABEL_ID int NOT NULL,
  GTIN_CD varchar(13) NOT NULL,
  KEY LABEL_ID (LABEL_ID,GTIN_CD)
);

具体来说,我想了解“KEY LABEL_ID(LABEL_ID,GTIN_CD)”的作用,并将其翻译成Postgresql。

非常感谢任何帮助。非常感谢!

1 个答案:

答案 0 :(得分:2)

你可以在postgresql中编写给定的CREATE TABLE代码,如下所示:

CREATE TABLE IF NOT EXISTS label_gtin (
  LABEL_ID integer NOT NULL,
  GTIN_CD varchar(13) NOT NULL,
  CONSTRAINT LABEL_ID PRIMARY KEY(LABEL_ID,GTIN_CD)
);

Key(postgresql中的PRIMARY KEY)是一列或多列上的主键约束 其组合对于表中的记录是unic的。

语法:CONSTRAINT <Constraint Name> PRIMARY KEY(<Column1>[,<Column2>,<Column3>,...])

IF NOT EXISTS:如果已经存在同名关系,请不要抛出错误。在这种情况下发出通知。请注意,无法保证现有关系与已创建的关系类似。

您可以参阅此链接了解详情:http://www.postgresql.org/docs/current/static/sql-createtable.html