精华内容
下载资源
问答
  • MySQLWorkBench 创建外键

    千次阅读 2019-04-27 11:28:22
    两个表之间是关联关系,则外键是由多的一方指向少的一方,外键是由多的一方创建; 例如: 多个商品从属于一个分类, 分类应该被商品关联, 分类的ID作为外键 ...

    两个表之间是关联关系,则外键是由多的一方指向少的一方,外键是由多的一方创建;

    例如: 多个商品从属于一个分类, 分类应该被商品关联, 分类的ID作为外键
    在这里插入图片描述

    展开全文
  • MySQL Workbench创建外键及多表查询

    万次阅读 2017-12-31 13:22:39
    1.创建外键 2.多表查询

    1.创建外键


    2.多表查询

    SELECT * FROM mydb.role,mydb.users where role.userid=2 and role.userid=users.id;




    展开全文
  • I have stumbled upon something weird when dealing with the SQL editor in MySQL Workbench where the execution seems to ignore foreign key constraints. Here's an example:create database testdb;use testd...

    I have stumbled upon something weird when dealing with the SQL editor in MySQL Workbench where the execution seems to ignore foreign key constraints. Here's an example:

    create database testdb;

    use testdb;

    create table t1 (

    `test` INT,

    PRIMARY KEY (`test`)

    ) ENGINE = InnoDB;

    create table t2 (

    `test1` INT,

    `test2` INT,

    FOREIGN KEY (`test2`) REFERENCES t1(test),

    PRIMARY KEY (`test1`)

    ) ENGINE = InnoDB;

    insert into t1 values (1);

    insert into t2 values (1,1);

    insert into t2 values (2,2);

    In this example, insert into t2 values (2,2); ought to fail, as there is no row in t1 where column test is 2.

    I've tested in phpMyAdmin, at it correctly fails and gives an error that the foreign key constraint is violated, but in MySQL Workbench it doesn't give an error, and it is inserted into the table (I've checked with phpMyAdmin).

    It's not a big problem to me as I can just use a different client to input the SQL in, but I'm interested in why this works, as in my understanding of foreign keys is that the value needs to exist in the referenced table.

    MySQL version is 5.5.16, engine is InnoDB.

    解决方案

    I recommend you to update workbench, i was having the same problem only when i use my mac, the tables where created without constraints but if you run the sql generated it will create everything correctly, i use my windows to create and it worked perfect, then after a lot of test i update the workbench version on my mac and now everything is working perfect.

    展开全文
  • So I have an error, when I want to add a foreign ... I added the foreign key in MySQL Workbench with an EER Diagram Model. The lines workbench tries to add are:`CREATE SCHEMA IF NOT EXISTS `barberDB`...

    So I have an error, when I want to add a foreign key. I added the foreign key in MySQL Workbench with an EER Diagram Model. The lines workbench tries to add are:`

    CREATE SCHEMA IF NOT EXISTS `barberDB` DEFAULT CHARACTER SET latin1 ;

    USE `barberDB` ;

    -- -----------------------------------------------------

    -- Table `barberDB`.`BARBER`

    -- -----------------------------------------------------

    CREATE TABLE IF NOT EXISTS `barberDB`.`BARBER` (

    `ID` INT NOT NULL AUTO_INCREMENT,

    `name` VARCHAR(45) NULL,

    PRIMARY KEY (`ID`))

    ENGINE = InnoDB;

    -- -----------------------------------------------------

    -- Table `barberDB`.`CUSTOMER`

    -- -----------------------------------------------------

    CREATE TABLE IF NOT EXISTS `barberDB`.`CUSTOMER` (

    `ID` INT NOT NULL AUTO_INCREMENT,

    `name` VARCHAR(45) NULL,

    `isHaircut` INT NULL,

    `isBeard` INT NULL,

    `isEyebrows` INT NULL,

    `BARBER_ID` INT NOT NULL,

    PRIMARY KEY (`ID`),

    INDEX `fk_CUSTOMER_BARBER_idx` (`BARBER_ID` ASC) VISIBLE,

    CONSTRAINT `fk_CUSTOMER_BARBER`

    FOREIGN KEY (`BARBER_ID`)

    REFERENCES `barberDB`.`BARBER` (`ID`)

    ON DELETE CASCADE

    ON UPDATE CASCADE)

    ENGINE = InnoDB;

    SET SQL_MODE=@OLD_SQL_MODE;

    SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;

    SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

    The error I get is:

    ERROR: Error 1064: 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 'VISIBLE,

    CONSTRAINT `fk_CUSTOMER_BARBER`

    FOREIGN KEY (`BARBER_ID`)

    REF' at line 12

    SQL Code:

    -- -----------------------------------------------------

    -- Table `barberDB`.`CUSTOMER`

    -- -----------------------------------------------------

    CREATE TABLE IF NOT EXISTS `barberDB`.`CUSTOMER` (

    `ID` INT NOT NULL AUTO_INCREMENT,

    `name` VARCHAR(45) NULL,

    `isHaircut` INT NULL,

    `isBeard` INT NULL,

    `isEyebrows` INT NULL,

    `BARBER_ID` INT NOT NULL,

    PRIMARY KEY (`ID`),

    INDEX `fk_CUSTOMER_BARBER_idx` (`BARBER_ID` ASC) VISIBLE,

    CONSTRAINT `fk_CUSTOMER_BARBER`

    FOREIGN KEY (`BARBER_ID`)

    REFERENCES `barberDB`.`BARBER` (`ID`)

    ON DELETE CASCADE

    ON UPDATE CASCADE)

    ENGINE = InnoDB

    SQL script execution finished: statements: 6 succeeded, 1 failed

    Fetching back view definitions in final form.

    Nothing to fetch

    I searched for solutions and find that parenthesis are important or backticks, but since the code is created by the tool, it seems correct to me.

    What could cause the error?

    解决方案

    For anyone looking this, in the EER Diagram Model window you can set wich MySQL version want use to generate SQL script. Go to Edit, Preferences, then Modeling section, MySQL and set your custom MySQL version.

    展开全文
  • 1.打开MySQL Workbench,如图所示即可创建物理模型 2.选择如图所示就可以创建表 3.Foreign key Name:外键名,即别称,可自定义 Referenced Table:外键指向的表 Column:当前表的外键,注意仅选择当前需要...
  • 1、双击表格,点击Foreign Keys,建立外键时出现 Foreign key Name:外键名,即别称,可自定义 Referenced Table:从表(外键指向的其它表) Column:外键列 Referenced Column:从表的外键列...即创建了一个索引。 ...
  • I am trying to forward engineer a database on MySQL Workbench, but I continually am getting this error message. I feel as though it is most likely an issue with the structure of my relationships, but ...
  • Mysql无法创建外键的原因汇总

    万次阅读 2017-12-18 13:02:24
    Mysql创建外键时,经常会遇到问题而失败,这是因为Mysql中还有很多细节需要我们去留意,我自己总结并查阅资料后列出了以下几种常见原因。汇总至此以供交流参考. 两个字段的类型或者大小不严格匹配。例如,如果一...
  • Mysql创建外键时,经常会遇到问题而失败,这是因为Mysql中还有很多细节需要我们去留意,我自己总结并查阅资料后列出了以下几种常见原因。 1. 两个字段的类型或者大小不严格匹配。例如,如果一个是int(10),那么...
  • mysql 无法创建外键约束

    千次阅读 2012-09-10 11:08:57
    mysql数据库不太熟悉,今天遇到了外键创建问题。alter外键创建语句命令行下提示成功了,但就是没看到外键。 后来改用workbench工具来创建,发现是因为数据默认是采用的MyISAM存储引擎,该引擎不支持外键,需要...
  • mysql数据库不太熟悉,今天遇到了外键创建问题。alter外键创建语句命令行下提示成功了,但就是没看到外键。 后来改用workbench工具来创建,发现是因为数据默认是采用的MyISAM存储引擎,该引擎不支持外键,需要...
  • 具体错误信息为: Error Code: 3780. Referencing column ‘Cno’ and referenced column ‘Cno’ in foreign key constraint ‘sc_ibfk_4’ are incompatible. 具体SQL语句为: alter table sc add foreign key(Cno...
  • MySQL Workbench 为 person_event 表创建外键的时候发现只有 字段 : EVENT_ID 能创建外键, 字段: PERSON_ID 不能创建外键, 后来比较了一下 person 表 和 events 表,发现 person 表中的 字段 : PERSON_...
  • MySQL支持外键的存储引擎只有InnoDB,在创建外键的时候,要求父表必须有对应的索引,子表在创建外键的时候也会自动创建对应的索引。在创建索引的时候,可以指定在删除、更新父表时,对子表进行的相应操作,包括...
  • MySQL创建外键时总报错但找不到问题时,看看创表时的列名会不会有啥特殊意义 我一开始创表时用了 id 这个列名,然后这列一直创外键不成功,改列名了也不行。后来重新建表时就用了别的列名后就可以创建外键了 可以...
  • Mysql 创建外键

    千次阅读 2016-03-21 14:51:57
    我自己的步骤: 1.定义表,可以指定主键 create table sc (sno char(9),courseno char(10),grade smallint, ...primary key (sno,courseno));...3.添加外键 ...如果在定义表时指定外键,...(在workbench中操作的)
  • 对于多对多的关系表,要通过创建中间表来实现外键关联 1.例如一个用户可以拥有多个游戏角色,这是一对多的关系 2.例如一个角色可以拥有多个商品,且一个商品可以对应多个角色,这是多对多的关系 ...
  • mysql创建外键(Foreign Key)方法

    千次阅读 2015-08-31 14:04:32
    MySQL中,InnoDB引擎类型的表支持了外键约束,MyISAM类型暂时不支持外键。 建立外键关系的两个表的列必须是数据类型相似,也就是可以相互转换类型的列,比如int和tinyint可以,而int和char则不可以;此外,联合...
  • MySQL Workbench 创建数据库和表

    千次阅读 2018-10-15 15:22:40
    创建库(分4步走): 1.单击工具栏按钮(第四个,即鼠标放在 上面显示Create a new schema in the connected server),创建数据库。 2.修改数据库名字,collation保持默认,单击确定。 3.其他选项保持默认,单击...
  • Mysql Workbench使用教程

    万次阅读 多人点赞 2019-03-20 23:45:34
    MySQL Workbench MySQL Workbench 为数据库管理员、程序开发者和系统规划师提供可视化的Sql开发、数据库建模、以及数据库管理功能。 <2>.MySQL Workbench 的下载和安装 (1)安装最新MySql时,有是否安装...
  • I used MySQL workbench to add a foreign key in a table, but some strange error happened, this is the SQL statement:ALTER TABLE `tansung`.`Declaration` ADD COLUMN `goodsId` INT(11) NOT NULL AFTER `dec....
  • 如何创建ER视图参考博客:https://www.2cto.com/database/201502/377077.html查看表的外键表旁边有一个小的符号类似于! 可以看到class表的字段teacher_id 的外键为t_id但是貌似还不能看到t_id具体是那个表的主键...
  • 转载自百度- PK: primary key (column is part of a pk) 主键- NN: not null (column is nullable) 是否为空- UQ: unique (column is part of a unique key) 外键- AI: auto increment (the column is auto ...
  • 使用MySQLworkbench建模,然后同步数据库的时候,出现上面这个错误 查Google,有说外键索引有问题的,还有说其他可能的,但用workbench执行脚本的时候没有过多的详细信息 后来我把生成的SQL执行了一下,如下...
  • 创建表与添加字段 双击!!! 一下刚刚建立好的数据库,然后再创建表,不然会出错,右键点击Tables 然后点击Create new tables ,填写表名,以及字段的信息,之后点击 apply ,一张表就建完了。 PK: prima...
  • MySql 121 1005 外键错误

    2011-06-12 19:55:00
    在使用MySQL Workbench建模,生成到数据库时遇到 121 1005 不能建表的错误。 最后发现,MySQL中的外键名称唯一,不能重复 转载于:https://www.cnblogs.com/klvk/archive/2011/06/12/2079075.html...
  • 1、Column Name表的名称2、Datatype,数据类型,使用Varchar()类型的时候括号里面必须指定一个长度值3、使用mysql workbench建表时,字段中有PK,NN,UQ,BIN,UN,ZF,AI几个基本字段类型标识。数据类型字符串 - char ...
  • duplicate key in table发生场景:在mysqlworkbench中设计表的时候和user表相互关联的两个表userinfo和commont中都存储了外键都命名为user_id;导入时候不能导入并提示错误;最终解决:我将userinfo中的表改为u_id...
  • ctrl+q 打开查询窗口 ctrl+/ 注释sql语句 ctrl+shift +/ 解除注释 ctrl+r 运行查询窗口的sql语句 ctrl+shift+r 只运行选中的sql语句 F6 打开一个mysql命令行窗口 ctrl+d (1...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,103
精华内容 441
关键字:

mysqlworkbench创建外键

mysql 订阅