0

我是 phpmysql 的新手。我需要一些帮助...

我有两个表usersleave。在users表中我有以下列

  1. empID(int)
  2. 用户名(varchar)
  3. 密码(varchar)
  4. mac(varchar)
  5. ip(varchar)

leave表中我有以下列

  1. 盖子(整数)
  2. 员工名(varchar)
  3. 用户名(varchar)
  4. 点头(int)
  5. 日期(日期)
  6. 日期(日期)
  7. 原因(varchar)
  8. 动作(varchar)

现在我想empIDleave表中使用。我该如何使用它。我不得不说我已经应用了一个代码但它不起作用。它给出了以下错误..

1072 - 表中不存在键列“empID”

和代码

create table `leave`(
lid INT NOT NULL AUTO_INCREMENT,
empname VARCHAR(255) NOT NULL,
username VARCHAR(255) NOT NULL,
nod INT NOT NULL,
sdate DATE,
edate DATE,
reason VARCHAR(255) NOT NULL,
PRIMARY KEY(lid),
FOREIGN KEY(empID) REFERENCES users(empID)
);  

所以怎么了...请帮帮我..

4

2 回答 2

2
create table `leave`(
lid INT NOT NULL AUTO_INCREMENT,
empname VARCHAR(255) NOT NULL,
username VARCHAR(255) NOT NULL,
nod INT NOT NULL,
sdate DATE,
edate DATE,
reason VARCHAR(255) NOT NULL,
PRIMARY KEY(lid),
FOREIGN KEY(empID) REFERENCES users(empID)
);

应该

create table `leave`(
lid INT NOT NULL AUTO_INCREMENT,
empID int, // here you need one like this
empname VARCHAR(255) NOT NULL,
username VARCHAR(255) NOT NULL,
nod INT NOT NULL,
sdate DATE,
edate DATE,
reason VARCHAR(255) NOT NULL,
PRIMARY KEY(lid),
FOREIGN KEY(empID) REFERENCES users(empID)
);

您缺少一empID列。

于 2013-04-22T04:21:17.097 回答
1

您创建离开表的 SQL 包括创建外键关系的正确位:

FOREIGN KEY(empID) REFERENCES users(empID)

但这只会根据 empID 列创建表之间的关系。它不会为您创建 empID 列!您还需要上面的一行来定义请假表中的 empID 列,如下所示:

create table `leave`(
lid INT NOT NULL AUTO_INCREMENT,
empID INT NOT NULL,
empname ...
... more lines ,
FOREIGN KEY(empID) REFERENCES users(empID)
于 2013-04-22T10:14:16.127 回答