我在工作中使用JetBrains的DataGrip。这是可以的,但我不知道如何创建表之间的关系,如图所示:
发布于 2017-05-13 03:44:32
这是一个两步的过程。在第一步中,必须修改表以添加外键约束定义。在第二步中,您可以显示表图。
首先,右键单击DataGrip中的表名称,然后选择Modify Table。您将看到四个选项卡:列、键、索引和外键。选择列选项卡。右键单击要成为外键的列名,然后选择新建外键。该窗口将切换到其外键选项卡,其中填写了一些信息。填写你的“目标表”。您可能还需要在SQL语句的REFERENCES
短语中写入目标列名。现在查看Modify Table窗口中的所有信息,并在满意时单击"Execute“。
其次,在DataGrip中再次右键单击您的表名,这次选择Diagram> Show Visualisation。现在,您应该看到一个显示原始表和被引用表之间关系的图。
在DataGrip帮助中,您可以查看“使用数据库工具”窗口页,了解其如何修改表、列、索引或主键或外键部分的定义。这里有一个非常简短的过程描述。
Wikipedia在其Defining foreign keys文章部分提供了一个示例,在使用DataGrip的Modify Table窗口时,该示例可能对您有用。
我在DataGrip 2017.1.3中做了这个过程,我不知道其他版本是否会有所不同。
发布于 2016-01-29 23:11:29
通常:从上下文菜单或按Ctrl+Alt+U键。
如果你找到了这张图片,再往下走一步,你就会进入这个页面:https://www.jetbrains.com/datagrip/features/other.html
并且有一个如何做到这一点的解释。
发布于 2019-01-28 10:01:37
试试这个创建3个表的小SQL脚本。我想你会发现这个工作做得很好。
CREATE TABLE product (
category INT NOT NULL, id INT NOT NULL,
price DECIMAL,
PRIMARY KEY(category, id)
);
CREATE TABLE customer (
id INT NOT NULL,
PRIMARY KEY (id)
);
CREATE TABLE product_order (
no INT NOT NULL AUTO_INCREMENT,
product_category INT NOT NULL,
product_id INT NOT NULL,
customer_id INT NOT NULL,
PRIMARY KEY(no),
INDEX (product_category, product_id),
INDEX (customer_id),
FOREIGN KEY (product_category, product_id)
REFERENCES product(category, id)
ON UPDATE CASCADE ON DELETE RESTRICT,
FOREIGN KEY (customer_id)
REFERENCES customer(id)
) ;
https://stackoverflow.com/questions/35081797
复制相似问题