【问题标题】:Mysql cross database foreign keyMysql跨数据库外键
【发布时间】:2018-11-08 05:31:34
【问题描述】:

我正在尝试在task_flow 数据库的ticket 表与sardia 数据库的user 表之间创建一个外键:

  • user_id int(10) UNSIGNED 否
  • Id int(10) UNSIGNED 否

我创建了查询

ALTER TABLE ticket
ADD CONSTRAINT fk_u_id
FOREIGN KEY (user_id) REFERENCES sardia.user(Id);

“外键约束格式不正确” 有人可以帮助我如何实现这一目标吗?

【问题讨论】:

  • 这个定义对我来说是正确的。也许你的代码中有错误的字符。
  • @GordonLinoff 完整的错误是 Can't create table task_flow Foreign key.. 为什么它说不能创建.. 数据库名称?
  • 对于所有可能有同样问题的人,我忘记将用户id列设置为主键。问题解决了!

标签: mysql sql database xampp


【解决方案1】:

已经有人问过相关的问题,click here to see it

试试这样的:

ALTER TABLE ticket ADD grade_id SMALLINT UNSIGNED NOT NULL DEFAULT 0;
ALTER TABLE ticket ADD CONSTRAINT fk_u_id FOREIGN KEY (user_id) REFERENCES sardia.user(Id);

希望对你有所帮助。

【讨论】:

  • 这正是我正在做的事情
猜你喜欢
  • 1970-01-01
  • 2014-06-09
  • 2013-07-16
  • 2021-03-05
  • 1970-01-01
  • 2011-04-09
  • 2014-03-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多