mysql修改表外键!

标签 mysql ruby-on-rails

(我使用 Workbench)我有表 questionsid, user_id, text 和表 users 字段 id, name

我需要关联这 2 个表!

我写如下:

ALTER TABLE `mydb_development`.`questions`
ADD CONSTRAINT fk_QueUsers_1
FOREIGN KEY (`user_id`)
REFERENCES `mydb_development`.`users`(`id`);

但我得到:

ERROR 1046: No database selected
SQL Statement:
ALTER TABLE  `questions` 
ADD FOREIGN KEY (`user_id`) REFERENCES `users`(`id`)

ERROR: Error when running failback script. Details follow.

ERROR 1046: No database selected
SQL Statement:
CREATE TABLE `questions` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `user_id` int(11) unsigned NOT NULL,
  `text` text NOT NULL,
  `security_token` varchar(40) NOT NULL,
  `created_at` datetime NOT NULL,
  `updated_at` datetime NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=373 DEFAULT CHARSET=utf8

ERROR 1046: No database selected
SQL Statement:
ALTER TABLE  `questions` 
ADD FOREIGN KEY (`user_id`) REFERENCES `users`(`id`)

ERROR: Error when running failback script. Details follow.

.....................

编辑: 我尝试这样做:

USE `mydb_development`;

ALTER TABLE  `mydb_development`.`questions`

ADD CONSTRAINT `fk_QueUsers_1`

FOREIGN KEY (`user_id`)

REFERENCES  `mydb_development`.`users`(`id`);

我得到错误:

Error Code: 1005
Can't create table 'survey_development.#sql-4ad_45' (errno: 150)

不明白:S

编辑:

我的用户表:

DROP TABLE IF EXISTS `mydb_development`.`users`;
CREATE TABLE  `mydb_development`.`users` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `email` varchar(255) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `email` (`email`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1;

最佳答案

这似乎是 mysql 的错误:

阅读http://forums.mysql.com/read.php?22,19755,19755

尝试索引“user_id”并再次运行脚本。

关于mysql修改表外键!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5893972/

相关文章:

mysql - 在NIFI中使用putdatabaserecord将数据放入MySQL

mysql - 无法将 INSERT 语句放入 SQL Fiddle 上的 TRIGGER 主体内

mysql - 终止了 Amazon Linux 中的 'mysqld' 进程 - 一切似乎都正常,真的吗?

ruby-on-rails - Rcov:为什么这段代码没有被考虑覆盖?

css - "-"在haml中是什么意思?

ruby-on-rails - Rails 3.2.2 在使用 capistrano 部署后在样式表和 js Assets 上获得 404

php - 我在 ubuntu 中安装 sms a laravel 包时出错

mysql - 外键应自动创建一个新条目

javascript - 单击链接而不是页面加载时的 CSS3 动画

ruby-on-rails - 如何撤消 rails destroy Controller ?