MySql 错误:#105(代码 150)。当我创建数据库架构时,我收到错误代码 150。

2023-12-01

DROP SCHEMA IF EXISTS `YouthMinistry` ;
CREATE SCHEMA IF NOT EXISTS `YouthMinistry` DEFAULT CHARACTER SET utf16 COLLATE utf16_general_ci ;
USE `YouthMinistry` ;

-- -----------------------------------------------------
-- Table `YouthMinistry`.`group`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `YouthMinistry`.`group` ;

CREATE TABLE IF NOT EXISTS `YouthMinistry`.`group` (
  `groupid` INT NOT NULL AUTO_INCREMENT ,
  `group_name` VARCHAR(100) NOT NULL ,
  `group_desc` VARCHAR(255) NULL ,
  PRIMARY KEY (`groupid`) )
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `YouthMinistry`.`groupmembers`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `YouthMinistry`.`groupmembers` ;

CREATE TABLE IF NOT EXISTS `YouthMinistry`.`groupmembers` (
  `groupid` INT NOT NULL ,
  `memberid` INT NOT NULL ,
  PRIMARY KEY (`groupid`, `memberid`) ,
  INDEX `groupid_idx` (`groupid` ASC) ,
  CONSTRAINT `groupid`
    FOREIGN KEY (`groupid` )
    REFERENCES `YouthMinistry`.`group` (`groupid` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `YouthMinistry`.`role`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `YouthMinistry`.`role` ;

CREATE TABLE IF NOT EXISTS `YouthMinistry`.`role` (
  `roleid` INT NOT NULL AUTO_INCREMENT ,
  `role_name` VARCHAR(100) NOT NULL ,
  `role_desc` VARCHAR(255) NULL ,
  PRIMARY KEY (`roleid`) )
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `YouthMinistry`.`rolemembers`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `YouthMinistry`.`rolemembers` ;

CREATE TABLE IF NOT EXISTS `YouthMinistry`.`rolemembers` (
  `roleid` INT NOT NULL ,
  `memberid` INT NOT NULL ,
  PRIMARY KEY (`roleid`, `memberid`) ,
  INDEX `groupid_idx` (`roleid` ASC) ,
  FOREIGN KEY (`roleid` )
    REFERENCES `YouthMinistry`.`role` (`roleid` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `YouthMinistry`.`users`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `YouthMinistry`.`users` ;

CREATE TABLE IF NOT EXISTS `YouthMinistry`.`users` (
  `memberid` INT NOT NULL AUTO_INCREMENT ,
  `username` VARCHAR(45) NOT NULL ,
  `password` VARCHAR(45) NOT NULL ,
  `email` VARCHAR(100) NULL ,
  `first_name` VARCHAR(45) NOT NULL ,
  `last_name` VARCHAR(45) NOT NULL ,
  `created` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated` DATETIME NOT NULL ,
  PRIMARY KEY (`memberid`, `username`, `password`) ,
  UNIQUE INDEX `username_UNIQUE` (`username` ASC) ,
  INDEX `memberid_idx` (`memberid` ASC) ,
  INDEX `memberid_idx1` (`memberid` ASC) ,
  FOREIGN KEY (`memberid` )
    REFERENCES `YouthMinistry`.`groupmembers` (`memberid` )
    ON DELETE CASCADE
    ON UPDATE CASCADE,
  FOREIGN KEY (`memberid` )
    REFERENCES `YouthMinistry`.`rolemembers` (`memberid` )
    ON DELETE CASCADE
    ON UPDATE CASCADE)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `YouthMinistry`.`eventgroup`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `YouthMinistry`.`eventgroup` ;

CREATE TABLE IF NOT EXISTS `YouthMinistry`.`eventgroup` (
  `eventid` INT NOT NULL ,
  `groupid` VARCHAR(45) NOT NULL ,
  PRIMARY KEY (`eventid`, `groupid`) ,
  INDEX `groupid_idx` (`groupid` ASC) ,
  FOREIGN KEY (`groupid`)
    REFERENCES `YouthMinistry`.`group` (`groupid`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `YouthMinistry`.`event`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `YouthMinistry`.`event` ;

CREATE TABLE IF NOT EXISTS `YouthMinistry`.`event` (
  `eventid` INT NOT NULL AUTO_INCREMENT ,
  `event_name` VARCHAR(255) NOT NULL ,
  `event_desc` VARCHAR(255) NULL ,
  PRIMARY KEY (`eventid`) ,
  INDEX `eventid_idx` (`eventid` ASC) ,
  FOREIGN KEY (`eventid` )
    REFERENCES `YouthMinistry`.`eventgroup` (`eventid` )
    ON DELETE CASCADE
    ON UPDATE CASCADE)
ENGINE = InnoDB;

我正在为我正在制作的网站创建数据库,当我运行创建脚本时,出现以下错误: 错误代码:1005。无法创建表“youthministry.users”(errno:150)

我查看了以下来源以寻找此错误的可能解决方案:http://www.webdeveloper.com/forum/showthread.php?68260-mySQL-multiple-foreign-keys http://forums.devarticles.com/mysql-development-50/mysql-foreign-key-problem-errno-150t-7704.html

我检查了主键和外键声明,以确保一切正确。

任何帮助深表感谢。此外,这仍然是一个原型,欢迎对初始架构提出任何评论。我对数据库设计还是新手。


您只能在一个表上创建引用另一表上的键的外键。这个具体问题是memberid都不是钥匙groupmembers or rolemembers表。只需添加KEY (memberid)到那些桌子上,你就可以出发了。

另一个问题是外键类型必须匹配。eventgroup has groupid varchar,但正在引用groups表,其中有groupid INT。纠正这个。


至于建议,我强烈建议每个主键只有一列:您的自动增量代理键。您也应该制作这些无符号整数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySql 错误:#105(代码 150)。当我创建数据库架构时,我收到错误代码 150。 的相关文章

  • 使用 MS Access 获取行的第一个实例

    EDITED 我有这个查询 我想SELECT表中记录的第一个实例petTable SELECT id pet ID FIRST petName First Description FROM petTable GROUP BY pet ID
  • Python:如何使用生成器来避免 sql 内存问题

    我有以下方法来访问 mysql 数据库 并且查询在服务器中执行 我无权更改有关增加内存的任何内容 我对生成器很陌生 并开始阅读更多有关它的内容 并认为我可以将其转换为使用生成器 def getUNames self globalUserQu
  • SPARK SQL - 当时的情况

    我是 SPARK SQL 的新手 SPARK SQL 中是否有相当于 CASE WHEN CONDITION THEN 0 ELSE 1 END 的内容 select case when 1 1 then 1 else 0 end from
  • mysql-如何向列申请补助?

    用户名 撤销对数据库的选择 Person I set GRANT SELECT id ON database Person TO username localhost 不是工作 gt SELECT secret FROM Person Go
  • 如何在 Laravel 查询中使用多个 OR,AND 条件

    我需要 Laravel 查询帮助 我的自定义查询 返回正确结果 Select FROM events WHERE status 0 AND type public or type private 如何写这个查询Laravel Event w
  • SQL Server 用分隔符分割字符串

    我有一个输入字符串 100 2 3 101 2 1 103 2 3 我想解析它并将其添加到具有 3 列的表中 因此它应该是 f x col1 col2 col3 100 2 3 类似的其他数据以逗号分隔作为记录和 作为列 Thanks ni
  • 如何使用PostGIS将多边形数据转换为线段

    我在 PostgreSQL PostGIS 中有一个多边形数据表 现在我需要将此多边形数据转换为其相应的线段 谁能告诉我如何使用 PostGIS 查询进行转换 提前致谢 一般来说 将多边形转换为线可能并不简单 因为没有一对一的映射 http
  • 如何在 SQL Server 中使用 nvarchar 变量为 unicode 用户添加前缀“N”?

    如何在 SQL Server 中使用 nvarchar 变量为 unicode 用户添加前缀 N 例如 给定这个变量 declare Query1 nvarchar max 我可以这样分配它 set Query1 N 但是如果我想使用怎么办
  • Mysql 检索所有有限制的行

    我想检索特定用户的所有行 限制为 0 x 所以我只是想问是否有任何方法可以检索 mysql 中的所有行 而不调用返回 x 的 count id 的方法 而不重载现有函数 该函数在查询中根本没有限制 与我们的 string Relace 功能
  • 分层查询

    我希望我能够解释困扰我的问题 我有以下分层数据集 这只是 34K 记录的子集 PARENT ID CHILD ID EXAM TUDA12802 TUDA12982 N TUDA12982 TUDA12984 J TUDA12984 TUD
  • InnoDB 因读未提交而死锁! - Java - Glassfish - EJB3(JPA/Hibernate)

    几天来 我在使用 Glassfish EJB3 和 Mysql InnoDB 的 Java 应用程序上遇到了死锁问题 配置 Mysql InnoDB Ver 14 12 Distrib 5 0 51a 适用于 debian linux gn
  • 使用 JSON 参数的 Postgres 批量 INSERT 函数

    这是一个plpgsqlpostgres 的函数9 6 它试图INSERT一行 如果插入没有失败 由于违反键约束 那么它会运行更多命令 CREATE FUNCTION foo int text text RETURNS void AS BEG
  • 如何在Sequelize中设置查询超时?

    我想看看如何在 Sequelize 中设置查询的超时时间 我查看了 Sequelize 文档以获取一些信息 但我找不到我要找的东西 我发现的最接近的是 pools acquire 选项 但我不想设置传入连接的超时 而是设置正在进行的查询的超
  • 如何在列上创建外键,该列的每条记录都可能引用多个表之一中的列?

    我正在创建一个社交网络 它有新闻 照片等多个实体 可以有评论 由于所有评论都具有相同的列并且行为方式相同 唯一的区别是它们的类型 新闻 照片或将来添加的其他内容 我决定为所有评论创建一个表 其中的列名为type 它工作得很好 直到我决定将外
  • MySQL MIN/MAX 所有行

    我有桌子Races与行ID Name and TotalCP 我选择分钟 TotalCP FROM Races 但是我想选择具有最小值的整行 我如何在单个查询中做到这一点 从聚合值获取整行的一般形式是 SELECT FROM Races W
  • 如何在 PostgreSQL 中使用具有多个值的 SQL LIKE 条件?

    有没有更短的方法来查找多个匹配项 SELECT from table WHERE column LIKE AAA OR column LIKE BBB OR column LIKE CCC 这个问题适用于 PostgreSQL 9 1 但如
  • 是否有适用于所有数据库的标准sql

    如下所示 不同数据库的语法有所不同 是否存在适用于所有数据库的标准方法 有没有什么工具可以将任意sql转换为任意sql SQL Server 2005 CREATE TABLE Table01 Field01 int primary key
  • 使用 where 进行 select 语句时,HSQLDB 用户缺乏权限或未找到对象错误

    我的数据库使用 SQuirrel SQL 客户端版本 3 5 3 和 HSQLDB 我已经能够为其指定相应的驱动程序 内存中 并创建一个别名 我创建了一个表 CREATE TABLE ENTRY NAME VARCHAR 100 NOT N
  • 当所有维度值都具有 100% 重要性时处理多对多维度

    我至少会尽力保持简洁 假设我们正在跟踪一段时间内的账户余额 所以我们的事实表将包含诸如 账户余额情况表 FK 账户ID FK 日期ID Balance 显然你有一个账户维度表 and a 日期维度表 所以现在我们可以轻松地过滤帐户或日期 或
  • 对多个数据库执行 SQL 查询

    我知道我的帖子与该论坛中的其他帖子的标题非常相似 但我真的找不到我需要的答案 这是我的问题 我的 Windows Server 上运行着 SQL Server 在我的 SQL Server 中 我有大约 30 个数据库 它们都具有相同的表和

随机推荐

  • Visual C++ 错误:LNK2019、LNK2028 和 LNK1120

    我正在开发一个基本应用程序来创建 Java VM 并使用 JNI 从 C 启动 Java 程序 但是 我有一些编译错误 Error 6 error LNK2028 unresolved token 0A00000D extern C lon
  • 如何将 NSTimeInterval(秒)转换为分钟

    我有一定数量的seconds是从某个事件过去的 它存储在一个NSTimeInterval数据类型 我想把它转换成minutes and seconds 例如 我有 326 4 秒 我想将其转换为以下字符串 5 26 实现这一目标的最佳方法是
  • 是否可以使用浮点数作为索引或在 R 中创建因子时?

    是否可以使用浮点数作为索引或在 R 中创建因子时 我指的不是带有小数部分的数字 这显然是奇数 但实际上是整数 对用户来说 但被存储为浮点数 例如 我经常使用类似的结构 1 3 3 or seq 3 9 by 3 作为索引 但您会注意到它们实
  • 在异步 HTTP 请求的completionHandler 中更新视图时出现延迟

    在我的应用程序中 当用户按下按钮时 我启动一个 HTTP 异步请求 使用 NSURLConnection sendAsynchronousRequest 并更改文本UILabel in the completionHandler堵塞 但是
  • 如何使用[[UIApplication sharedApplication] openURL:]打开其他应用程序?

    我跟着http iosdevelopertips com cocoa launching your own application via a custom url scheme html在 app2 FontTest 中打开 app1 G
  • 以编程方式为 Outlook 2010 创建自定义通讯簿

    我想创建一个自定义联系人列表 或地址簿 因为它被称为 这样在 Outlook 中 用户将查看 建议的联系人 联系人 等 然后是 自定义联系人 我去尝试了以下方法 int count this Application GetNamespace
  • Java NetBeans 中无法识别 .isBlank() [重复]

    这个问题在这里已经有答案了 我尝试实现 isBlank 来省略空格 netBeans IDE 11 0 和 8 2 显示 找不到符号 错误 当这个项目从另一台电脑打开时它就可以工作了 public FormulaElement parseF
  • 使用 VBA 时 Form.Submit 未完成

    我有一个正在从中提取数据的网页 除了单击图像元素然后提交表单并创建包含数据的弹出窗口之外 我可以使用 VBA 完成所有操作 图像元素中的属性之一称为 productguid 并且具有字符串值 a12 545 在我用鼠标单击图像元素之前 表单
  • 量角器 AngularJS 全局变量

    我使用 Protractor 和 angularjs 来创建我的 e2e 测试 我有许多文件 其规格数组非常大 并且我想在所有文件之间共享一个通用函数 有没有办法创建一个全局的 beforeEach 我可以在其中注入我的函数 Exports
  • 如何解析具有相同结构但不同名称的json数组[关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我想解析一个 json 文件 但它的过程是这样的 CDG id 32569 airport name Charles De Gaulle latitude 49 0167 longi
  • 需要 GeckoFX 的代理用户名和通行证帮助吗?

    我正在尝试设置代理用户名和密码 我看到了这个帖子 http geckofx org viewtopic php id 832 我认为这可能是用户名 密码的类似设置 例如 Skybound Gecko GeckoPreferences Use
  • 使用 Xpath 处理较大 XML 文件的最佳方法是什么?

    我有一个要求 必须使用大型 XML 4 GB 文件 来查找其中的值 基本上我必须编写大约 30 个不同的 Xpath 并将这些值存储在列表中 当我尝试解析 XML 时 它会抛出内存错误 我尝试过使用 lxml 和 ElementTree 来
  • Angular 2 的最佳实践

    Angular 2 被认为是前端开发的完整框架 与 jQuery 的各种功能相比 优点之一是以托管方式进行前端交互 另一方面 jQuery非常灵活 其特性可以按需逐个函数应用 它与纯HTML代码配合良好 尤其是视觉设计师准备了好看的模板 从
  • 防止数字粘贴到 .net windows 窗体中的文本框中

    我已阻止使用按键事件在文本框中输入数字 但是 当使用 Ctrl V 或通过鼠标粘贴内容时 数字将被输入到文本框中 如何防止这种情况发生 我必须允许粘贴 输入除数字之外的所有文本 非常简单的方法是使用以下命令检查文本TextChanged事件
  • C 中的结构填充

    如果我在 C 中有以下结构定义 typedef struct example char c int ii int iii 当我声明上述结构类型的变量时 应该分配什么内存 例如 ee 以及什么是结构填充以及结构填充是否存在任何风险 尝试一下
  • 缩小映射函数的泛型类型

    我期望 TS 的最新版本 例如 43183 使这种模式成为可能 而无需不安全的铸造 有任何想法吗 操场 export type Mapping number number string string function get
  • SSIS(SQL Server 集成服务)安装失败

    安装 Microsoft DataTools IntegrationServices exe 在已安装 Visual Studio 2019 的 Windows 10 PC 上 我收到这个错误 谁能帮助我理解为什么会发生这种情况 预先非常感
  • HTML5 音频无法在 ie7 或 ie8 中工作

    在 IE7 8 中测试时 我的脚本崩溃并收到此错误 SCRIPT438 对象不支持属性或方法 播放 我正在使用 HTML5 音频标签在我的网页上嵌入和播放音频 div div
  • 在 grails 中使用 junit 4

    我想在我的 grails 测试中使用一些 JUnit 4 功能 但目前 grails 测试在 JUnit 3 下运行 JUnit 4 可以从 groovy 使用 但用 JUnit 4 替换 grails 中的 JUnit jar 似乎并不能
  • MySql 错误:#105(代码 150)。当我创建数据库架构时,我收到错误代码 150。

    DROP SCHEMA IF EXISTS YouthMinistry CREATE SCHEMA IF NOT EXISTS YouthMinistry DEFAULT CHARACTER SET utf16 COLLATE utf16