0

私はphpmysqlの比較的新しいものです。助けが必要です...

私は2つのテーブル、つまりusersとを持っていますleaveusersテーブルには次の列があります

  1. empID(整数)
  2. ユーザー名(varchar)
  3. パスワード(varchar)
  4. mac(varchar)
  5. ip(varchar)

そしてleave表には次の列があります

  1. ふた(int)
  2. 従業員名(varchar)
  3. ユーザー名(varchar)
  4. うなずき(int)
  5. sdate(日付)
  6. 編集日(日付)
  7. reason(varchar)
  8. アクション(varchar)

今、テーブルで使用empIDしたいのですが、どのように使用leaveできますか.すでにコードを適用しているが、機能していないと言わざるを得ません.次のエラーが発生します..

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

1

leaveテーブルを作成するための SQL には、外部キー関係を作成するための正しいビットが含まれています。

FOREIGN KEY(empID) REFERENCES users(empID)

ただし、それは empID 列に基づいてテーブル間の関係を作成するだけです。empID 列は作成されません。leaveテーブルの 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 に答える