首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在MySql中创建外键时出错

在MySql中创建外键时出错
EN

Stack Overflow用户
提问于 2016-01-01 16:13:12
回答 1查看 154关注 0票数 0

我试图在两个表之间建立关系。我的表名是employeessalaries。我尝试了以下代码:

代码语言:javascript
复制
ALTER TABLE `salaries` 
ADD FOREIGN KEY (`eid`) 
REFERENCES `employees`(`id`) 
ON DELETE CASCADE 
ON UPDATE CASCADE;

但它显示了一个错误:

在eid上创建外键时出错(检查数据类型)

员工表结构:

代码语言:javascript
复制
+---------------------------------------+
| id           | int(11)      | primary |
|--------------+--------------+---------|
| name         | varchar(255) | unique  |
|--------------+--------------+---------|
| basic        | int(11)      |         |
|--------------+--------------+---------|
| ot_rate      | int(11)      |         |
|--------------+--------------+---------|
| joining_date | date         |         |
+---------------------------------------+

薪资表结构:

代码语言:javascript
复制
+---------------------------------------+
| id           | int(11)      | primary |
|--------------+--------------+---------|
| eid          | int(11)      | index   | <-- I want to create foreign key on this column with employees->id.
|--------------+--------------+---------|
| month        | varchar(255) |         |
|--------------+--------------+---------|
| date         | date         |         |
|--------------+--------------+---------|
| working_day  | int(11)      |         |
+--------------+--------------+---------+
| ot_hour      | int(11)      |         |
|--------------+--------------+---------|
| ot_amount    | int(11)      |         |
|--------------+--------------+---------|
| basic_amount | int(11)      |         |
|--------------+--------------+---------|
| tatal_salary | inf(11)      |         |
|--------------+--------------+---------|
| comment      | varchar(255) |         |
+---------------------------------------+

我尝试将eid的数据类型更改为varchartinyinttext等。所有这些都有相同的错误信息。

更新

使用后:

代码语言:javascript
复制
ALTER TABLE `salaries` 
ADD CONSTRAINT `salary` FOREIGN KEY (`eid`) 
REFERENCES `employees`(`id`) 
ON DELETE CASCADE 
ON UPDATE CASCADE;

我收到以下错误消息:

代码语言:javascript
复制
#1005 - Can't create table `zamzam`.`#sql-14b4_1a5` (errno: 150 "Foreign key constraint is incorrectly formed")
EN

回答 1

Stack Overflow用户

发布于 2016-01-01 16:45:47

您是否使用表中的关系视图选项来创建外键对比。此链接将向您展示方法-http://www.binarytides.com/create-foreign-key-phpmyadmin/谢谢

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34557727

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档