Difference between revisions of "CREATE TABLE problems: Foreign key references."

From SQLZOO
Jump to: navigation, search
Line 12: Line 12:
  
 
<source lang='sql' class='def'>
 
<source lang='sql' class='def'>
CREATE TABLE customer(id INTEGER PRIMARY KEY
+
CREATE TABLE customer(
  , name VARCHAR(100)
+
  id INTEGER PRIMARY KEY,
 +
  name VARCHAR(100)
 +
);
 +
CREATE TABLE invoice(
 +
  cust_no INTEGER,
 +
  whn DATE,
 +
  amt DECIMAL(10,2),
 +
  FOREIGN KEY(cust_no) REFERENCES customer(id)
 
);
 
);
CREATE TABLE invoice (cust_no INTEGER
 
  , whn DATE
 
  , amt DECIMAL(10,2)
 
  ,FOREIGN KEY(cust_no) REFERENCES customer(id));
 
 
</source>
 
</source>
 
<div class="ecomm e-mysql" style="display: none"></div>
 
<div class="ecomm e-mysql" style="display: none"></div>

Revision as of 12:58, 21 August 2014

CREATE TABLE problems: Foreign key references.

schema:scott

A foreign key should refer to a candidate key in some table. This is usually the primary key but may be a field (or list of fields) specified as UNIQUE.

You must have REFERENCE permission on the table being referenced.

DROP TABLE t_stupid
 
CREATE TABLE customer(
  id INTEGER PRIMARY KEY,
  name VARCHAR(100)
);
CREATE TABLE invoice(
   cust_no INTEGER,
   whn DATE,
   amt DECIMAL(10,2),
   FOREIGN KEY(cust_no) REFERENCES customer(id)
);
Personal tools
Namespaces

Variants
Actions
Reference
Toolbox
Google AdSense