我在学Rails。
我正在尝试处理现有mysql数据库中的数据,该数据库的表名不遵循Rails约定的命名。
我有两堂课
Class Articles
end
和
Class Category
end
每一篇文章都有一个类别,但我有这个db模式。
项目表
id
title
channel
分类表
id
name
在我的文章表的“通道”字段中,我有类别ID。
我试着
Class Articles
has_one :category, class_name: "Category", foreign_key: 'channel'
end
不管用!为什么?
我正在尝试重建我的数据库,但我无法从表中删除任何外键,即使我也从MySQL文档中调用SET foreign_key_checks = 0;,似乎这就是我需要做的全部工作。我还需要做些什么呢?
SET foreign_key_checks=0;
alter table galleries drop foreign key fk_page_gallery ;
alter table photos drop foreign key fk_photo_gallery ;
create table galleries (
id int(11) auto_increment no
mysql数据库中有一个2张表:
Personnel:
personnel_id (PK)
name
age
qualification:
qualification_id (PK)
personnel_id (FK)
clg name
schl name
如何重命名人员表的PK (Personnel_id)?由于它是资格表的Fk,而我将这个personnel_id重命名为我面临的问题如下:
“不能更改‘人事_id’列:在表‘mobilemeta.qualification’的外键约束'qualification_ibfk_1‘中使用
A pos
为了学习数据库管理,我创建了一个电影数据库。
要将多个导演与一部电影关联起来,我有以下模式:
movie(m_ID, ....)
m_director(dirID, dirName)//dirID is a autoincrement primary key
m_directs(dirID, m_ID) //dirID, m_ID are set as foreign Keys in the mysql
database(InnoDB engine)
我有一个程序,连接到数据库,需要添加一部电影到数据库。
我可以很容易地将新条目添加到movie表和m_director表中,但是在m_
我正在尝试使用ON DELETE CASCADE作为我正在处理的数据库。似乎不起作用,所以我在一个简单的例子中进行了测试,但没有成功。
CREATE TABLE foo (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
data VARCHAR(10),
PRIMARY KEY (id)
)ENGINE=InnoDB;
CREATE TABLE foo2 (
id INT UNSIGNED NOT NULL,
data2 VARCHAR(10),
PRIMARY KEY (id),
CONSTRAINT fk_foo2_id FOREIGN KEY (id
我需要修改现有的数据库以添加一列。因此,我还希望更新唯一字段以包含该新列。我正在尝试删除当前索引,但仍然收到错误MySQL Cannot drop index needed in a foreign key constraint
CREATE TABLE mytable_a (
ID TINYINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Name VARCHAR(255) NOT NULL,
UNIQUE(Name)
) ENGINE=InnoDB;
CREATE TABLE mytable_b (
ID
我试图逐步构建一个MySQL数据库,通过使用JPA和Eclipse来生成。一路走来,我改变了一些关系@ManyToOne,@OneToOne等。
现在我遇到了一种情况,即我有一些虚假的外键:表不存在,但引用的表仍然存在。我认为最初的表是由EclipseLink生成的交叉引用表,但现在已经不在了。
问题是,我不能删除这些引用的表。我遇到了这样的错误:
mysql> drop table PRODUCTDO;
ERROR 3730 (HY000): Cannot drop table 'PRODUCTDO' referenced by a foreign key constr