首页 > mysql如何创建外键不出错呢,看了一大堆还是出错,

mysql如何创建外键不出错呢,看了一大堆还是出错,

能给一个例子我,在运行mysql的外键的时候不出错吗,现在老是error150。

举两个简单的例子吧:

CREATE TABLE city (
  cid       INT AUTO_INCREMENT PRIMARY KEY,
  city_name VARCHAR(255) NOT NULL

);
CREATE TABLE someone (

  id   INT PRIMARY KEY AUTO_INCREMENT,
  name VARCHAR(60)  NOT NULL,
  city VARCHAR(255) NOT NULL

);

someone表怎么引用city作为外键呢。能写一个不出错的,能运行的sql语句吗?

我无论在数据库直接操作,还是写语句都出现error150,

CREATE TABLE someone (

id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(60) NOT NULL,
city VARCHAR(255) NOT NULL,
CONSTRAINT gvffg FOREIGN KEY (city) REFERENCES city (city_name)

);


Foreign key 要指向另一个 table 的 primary key.
把 references 里面的 city_name 换成 cid 看看


相连的两个字段要格式、长度、是否整型、是否为空等都必须一模一样,在创建的时候,必须按顺序创建,保证不出错。


外键确实得是对方表的唯一键

CREATE TABLE someone (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(60) NOT NULL,
city int NOT NULL,
CONSTRAINT gvffg FOREIGN KEY (city) REFERENCES city (cid)
);

【热门文章】
【热门文章】