【问题标题】:Why am I getting error number 150 from this MySQL statement?为什么我从这个 MySQL 语句中得到错误号 150?
【发布时间】:2013-04-29 00:54:45
【问题描述】:

我检查了引用表的数据类型是否与下表中的外键完全相同,我仍然不确定? SQL 文档不是很清楚。

P_id INT AUTO_INCREMENT NOT NULL,
name VARCHAR(128) NOT NULL,
price DECIMAL(5,2) UNSIGNED NOT NULL,
descr TEXT,
imgName VARCHAR(50),
stock INT UNSIGNED NOT NULL DEFAULT '0',
PG_id INT AUTO_INCREMENT NOT NULL,
PRIMARY KEY (P_id),
FOREIGN KEY (PG_id) REFERENCES prodGroups(PG_id)

【问题讨论】:

  • 如果 PG_id 是外键,为什么要设置为 AUTO INCREMENT?
  • 是一个错字,AUTO_INCREMENT 不应该存在,NOT NULL 也不应该存在。但是,仍然会出现错误。

标签: mysql foreign-keys key


【解决方案1】:

只能有一个 AUTO INCREMENT 列。所以,我猜,PG_id INT AUTO_INCREMENT NOT NULL 中的一个只是复制/粘贴出错了 :)

【讨论】:

  • 应该的。你的mysql版本是多少?
猜你喜欢
  • 2011-05-31
  • 1970-01-01
  • 2016-11-25
  • 1970-01-01
  • 1970-01-01
  • 2013-02-25
  • 1970-01-01
  • 2017-09-18
  • 1970-01-01
相关资源
最近更新 更多