`
heipark
  • 浏览: 2091495 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

记录mysql创建表错误一则

    博客分类:
  • DB
阅读更多

场景:

 

表A结构如下:

 

id(主键)

col1

col2

clo3


表B:

 

id 

a_col1 (外键,引用表A的col1)

....

 

创建表A后,创建B,报错:

 

[Err] 1005 - Can't create table 'test.B' (errno: 150)

 

原因如下:

表B的a_col1列外键是A.col1,那就要去表A的col1列必须设置为主键或者Unique约束。否则B.a_col1不知道引用的是哪个外键对象。

 

--end 

 

 

分享到:
评论

相关推荐

    Mysql安装错误代码对照

    错误1050表示尝试创建一个已经存在的表。解决方法包括: - **检查表名称**:确保表名称是唯一的。 #### 1051 错误:数据表不存在 错误1051表示尝试访问一个不存在的数据表。解决方法包括: - **检查表名称**:确保...

    mysql多表联合查询.pdf

    创建表时可以指定主键(PRIMARY KEY),这是表中每条记录的唯一标识符,保证了数据的唯一性。 例如: ```sql CREATE TABLE IF NOT EXISTS contact( contact_id int(11) NOT NULL AUTO_INCREMENT, user_name ...

    根据excel数据批量新增或更新mysql的表

    标题所指的"根据excel数据批量新增或更新mysql的表"是一个常见的需求,特别是在数据分析、数据导入导出或者自动化报表生成等场景。 首先,我们需要了解涉及的主要工具和概念。`MySQL`是一款广泛使用的开源关系型...

    学mysql要创建的表.zip

    这段代码首先创建了一个新的mysqli连接,然后定义了一个创建表的SQL语句,最后执行该语句并处理可能出现的错误。 总结来说,"学mysql要创建的表.zip"包含的学习内容涵盖了MySQL数据库的基础操作,特别是如何创建表...

    MySQL中创建用户及授权

    对于每个账户,CREATE USER 会在没有权限的 mysql.user 表中创建一个新记录。如果账户已经存在,则出现错误。 使用自选的 IDENTIFIED BY 子句,可以为账户给定一个密码。user 值和密码的给定方法和 GRANT 语句一样...

    MySQL修改表结构.doc

    在MySQL数据库中,修改表结构是一项常见的操作,用于适应数据模型的变化或优化表的设计。本文主要探讨了如何在已有数据的情况下安全地修改表的字段类型、约束条件、字段位置以及字段名称,同时强调了在执行这些操作...

    实验训 练1 在MySQL中创建数据库和表 2022

    实验训练1旨在让学生熟悉MySQL环境,掌握如何在MySQL中创建数据库和表,理解数据类型以及数据完整性,并通过实践操作熟练运用一系列SQL语句,包括CREATE TABLE、SHOW TABLES、DESCRIBE TABLE、ALTER TABLE、DROP ...

    用mysql做站点时怎样记录未知错误的发生

    通过以上步骤,你可以有效地记录MySQL站点中的未知错误,提高系统的健壮性和维护性。记得定期检查和清理日志文件,以免日积月累导致存储空间不足。同时,学习和理解常见的MySQL错误代码和含义,能帮助你更快地解决...

    Mysql错误代码大全.docx

    MySQL错误代码大全是一个重要的参考资料,它包含了MySQL在运行过程中可能出现的各种错误情况的代码和描述,帮助开发者和数据库管理员快速定位并解决遇到的问题。错误代码主要分为两个部分:老版本的一部分和4.1版本...

    使用kettle转换oracle与 mysql的表数据

    - 创建一个"MySQL输出"步骤,配置MySQL数据库的连接信息,并指定目标表名。 5. **数据加载**: - 将处理后的数据通过"MySQL输出"步骤写入MySQL数据库。这里可以设置是否覆盖现有数据,或者选择追加方式。 6. **...

    中国省市区(地区MySql数据表).pdf

    - `DROPTABLEIFEXISTS`:这是一个SQL语句,用于在创建新表之前删除已存在的同名表,防止因同名表存在而导致建表失败。 - `CREATETABLE`:创建新表的SQL语句,括号内定义了表的结构,如字段名、字段类型、约束等。 - ...

    MySQL形考任务1

    MySQL是世界上最流行的关系型数据库管理系统之一,用于存储和管理数据。在这个形考任务1中,你需要掌握MySQL的安装、配置、使用以及日志管理和数据库操作等核心知识点。 首先,安装MySQL是一个必要的步骤。你可以从...

    mysql5.5从零开始学代码、数据库表

    MySQL 5.5是MySQL数据库管理系统的一个重要版本,它提供了许多功能增强和性能优化,适合初学者和有经验的开发者学习。在这个学习过程中,你将深入理解数据库的基础知识,掌握如何编写SQL代码以及如何设计和操作...

    二、MySQL表约束和表关系学习ppt

    1. **一对一关系 (1:1)**:每个表的记录对应另一表中的唯一一条记录。这种关系通常用于细化数据模型,将大表拆分为小表以提高效率。 2. **一对多关系 (1:N)**:一个表的记录可以对应另一个表中的多个记录。例如,一...

    删除数据表中重复记录

    2. **标记重复记录**:可以创建一个临时表或使用子查询来标记出需要删除的重复记录。 3. **执行删除操作**:基于标记好的记录执行删除操作。 #### 示例代码解析 以下是一段示例SQL脚本,用于演示如何删除表`a`中的...

    用gcc批量建mysql库表

    如果创建数据库和导入表的命令都成功执行(即返回值为0),则输出`Install [ OK ]`,否则输出`Install [ :( ]`,表明有错误发生。 5. **表名数组** 在文件 `table.h` 中,可以看到一个表名的数组,如`"alxx"`, `...

    易语言连接mysql数据库来实现读取写入修改实例

    `查找记录`命令用于定位第一条记录,`获取字段值`则用于获取该记录中指定列的值。 写入数据通常涉及插入新记录,使用“插入记录”命令: ```易语言 .记录指针 = 尾记录(.数据库表) 插入记录(.数据库表) 设置字段值...

    Mysql 5.1 和 Mysql驱动

    6. **视图**:视图是MySQL 5.1中的一个重要特性,允许用户创建虚拟表,基于一个或多个表的查询结果,提供了一种简化复杂查询和保护数据隐私的方式。 7. **性能监视**:MySQL 5.1提供了性能监控工具,如SHOW STATUS...

    mysql主从库配置

    - 如果安装过程中出现错误提示“服务已存在”,可以先使用 `sc delete mysql` 命令删除旧的服务,然后再重新执行安装命令。 6. **启动 MySQL 服务**: - 在命令提示符中输入以下命令启动 MySQL 服务: ``` ...

Global site tag (gtag.js) - Google Analytics