mysql第三个表外键_mysql-当有3个相互依赖的表时外键的工作方...
我有桌子
items
products
brands
他们的内容:
products:
- samsung galaxy s2
- iphone 5
brands
- samsung
- apple
物品和产品之间的区别如下:
产品就是说iPhone.
商品是具有特定属性(例如颜色和购买价格)的特定用户的特定iPhone.
该产品iPhone具有Apple的品牌/制造商.
插入新项目时,我希望数据库从该项目所属产品中获取品牌,因此我的外键设置如下:
'db_name`.'products'.`productBrand`
我有两个品牌的ATM-三星和苹果.
当我尝试通过phpMyAdmin的界面插入新项目并且进入itemBrand列时,无论我选择了产品1还是2(三星Galaxy或iPhone5),下拉字段都只允许我使用一个选项-1(三星).在itemGenericProduct列.
我究竟做错了什么?
这是一些更详细的信息:
CREATE TABLE IF NOT EXISTS `brands` (
`brandId` int(11) NOT NULL AUTO_INCREMENT,
`brandName` varchar(30) NOT NULL,
`brandLogo` varchar(100) NOT NULL,
`brandDescription` text NOT NULL,
PRIMARY KEY (`brandId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;
--
-- Dumping data for table `brands`
--
INSERT INTO `brands` (`brandId`, `brandName`, `brandLogo`, `brandDescription`) VALUES
(1, 'Samsung', '', 'Manufacturer of ...'),
(2, 'Apple', '', 'American high-tech company ...');
--
-- Table structure for table `items`
--
CREATE TABLE IF NOT EXISTS `items` (
`itemId` int(11) NOT NULL AUTO_INCREMENT,
`generalProductId` int(11) NOT NULL,
`itemPurchasedPrice` double NOT NULL,
`itemDateAdded` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`itemDescription` text,
`itemBrand` int(11) NOT NULL,
`itemBoughtFromPlace` int(11) NOT NULL,
`itemBoughtFromUser` int(11) NOT NULL,
`itemConditionNew` tinyint(1) NOT NULL DEFAULT '1',
`itemBeingSold` tinyint(1) NOT NULL DEFAULT '1',
`itemSellPrice` double DEFAULT NULL,
PRIMARY KEY (`itemId`),
KEY `generalProductId` (`generalProductId`),
KEY `itemBrand` (`itemBrand`),
KEY `itemBoughtFromPlace` (`itemBoughtFromPlace`),
KEY `itemBoughtFromUser` (`itemBoughtFromUser`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
--
-- Table structure for table `products`
--
CREATE TABLE IF NOT EXISTS `products` (
`productId` int(11) NOT NULL AUTO_INCREMENT,
`productName` varchar(200) NOT NULL,
`productTimeAdded` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`productDescription` text,
`productBrand` int(11) NOT NULL,
`productFirstAddedFrom` int(11) NOT NULL,
`productAvatar` varchar(100) DEFAULT NULL,
PRIMARY KEY (`productId`),
KEY `productBrand` (`productBrand`,`productFirstAddedFrom`),
KEY `productFirstAddedFrom` (`productFirstAddedFrom`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;
--
-- Dumping data for table `products`
--
INSERT INTO `products` (`productId`, `productName`, `productTimeAdded`, `productDescription`, `productBrand`, `productFirstAddedFrom`, `productAvatar`) VALUES
(3, 'Samsung Galaxy SII', '2013-10-26 07:46:08', 'The Samsung Galaxy S II is a .....', 1, 1, NULL),
(4, 'iPhone 5', '2013-10-26 07:46:08', 'The iPhone 5 is a ....', 1, 2, NULL);
编辑:
PRODUCTS表中的以下几行似乎很奇怪
KEY `productBrand` (`productBrand`,`productFirstAddedFrom`),
KEY `productFirstAddedFrom` (`productFirstAddedFrom`)
因为在视觉布局中,它们看起来是这样的:
mysql第三个表外键_mysql-当有3个相互依赖的表时外键的工作方...相关推荐
- mysql无法添加或更新子行_MySQL错误1452-无法添加或更新子行:外键约束失败?
每当我们在表之间添加外键约束并将记录插入子表中时,都会发生此错误.让我们来看一个例子. 创建子表.mysql> create table ChildDemo -> ( -> id i ...
- mysql 删除另一个表中的_mysql – 在一个查询SQL中删除两个表中的记录
我有两张桌子 EMPGROUP_TBL SEQID | MASTERID | BUSINESS_UNIT | DIVISION | SUB_DIVISION | CLASSIFICATION | SU ...
- mysql or会用到索引吗_mysql or条件可以使用索引而避免全表
在某些情况下,or条件可以避免全表扫描的. 1 .where 语句里面如果带有or条件, myisam表能用到索引, innodb不行. 1)myisam表: CREATE TABLE IF NOT ...
- 计算机f8键的功能,详解:XP系统修改启动时F8键有哪些功能?
Windows Xp系统中有许多的功能键,这些功能键可以让我们的操作更加方便快捷,但是不少用户却对这些功能键知之甚少.接下来,小编将向大家详细XP系统电脑在更改启动时,F8键有哪些作用. F8键的功能 ...
- mysql数据库和表的关系_MySQL数据库学习【第六篇】表与表之间的关系
表1 foreign key 表2 则表1的多条记录对应表2的一条记录,即多对一 利用foreign key的原理我们可以制作两张表的多对多,一对一关系 多对多: 表1的多条记录可以对应表2的一条记录 ...
- mysql数据库表删除数据库_mysql删除数据库和删除数据库中的表
1. select sleep(2);执行睡眠2秒 2. delete from tablename:清空一个表内容,但不清空表结构,该表格仍然存在,而且表格中列的信息不会改变 drop table ...
- mysql 查询每天某个时间段的数据_mysql 中,统计一个时间段内每天8时到12时的数据的查询语句怎么写?...
比如 2012-12-11 8:00:00-12:00:00 到 2012-12-13 8:00:00-12:00:00 这3天内,8点到12点. 查询语句怎么写? 自己写出来了.EXPLAIN SE ...
- mysql删除表外键_MySQL删除所有表的外键约束、禁用外键约束
数据库的外键虽然能保证数据数据一致性和完整性,但是也一定程度地影响了数据更新的性能.在开发中,我们使用PowerDesigner建立物理数据模型时,为了结构的清晰,增加可读性,会创建表与表之间的关联关 ...
- mysql建表 外键_mysql建表外键怎么设
mysql建表外键怎么设 mysql建表时设置外键的方法:在"CREATE TABLE"语句中,通过"[CONSTRAINT ] FOREIGN KEY 字段名 [,字段 ...
最新文章
- MAT之GA:遗传算法(GA)解决M-TSP多旅行商问题
- 【转】使用Windows Backup备份Exchange 2007 SP2和Exchange 2010
- wxWidgets:wxMDIParentFrame类用法
- MyBatis 源码解读-pluginElement()
- LintCode 795. 4种独特的路径(DFS)
- drawer的用法_MMDrawerController抽屉侧边栏的简单使用
- 终于知道为什么NVIDIA的linux驱动这么烂了,一波官方文档告诉你:Linux GPU Driver Developer’s Guide
- 详解MATLAB/Simulink通信系统建模与仿真源码
- 【线性代数】矩阵及其运算
- 计算机科学系绩效分配方案,山西大学计算机与信息技术学院岗位绩效实施方案.docx...
- 计算机应用软件开机自动启动设置,如何关闭开机自动启动的软件?
- 成长,从你发现自己写的代码很LOW开始
- 云计算、物联网、大数据到底是什么?
- Google Analytics
- 虚拟机改IP地址的方式
- 吴军:Google 中日韩文搜索算法的主要设计者,因《浪潮之巅》享誉业界 | CNCC 2018...
- 照片修复校正DxO ViewPoint 3
- JavaScript 函数 Call的使用
- 关于许嵩很有意境的歌词
- 分享笔记RabbitMQ高级之消息限流与延时队列
热门文章
- 简单网络嗅探器编写--------java
- 【JavaSE】网络编程 Jpcap的使用
- 报表生成器的必备知识,及报表主流软件
- React和redux,ES6等前端开发经验记录总结(都是干货,看到是你的运气)
- 初中生学Android开发,安卓手机软件学习推荐(几款适合中学生学习的软件)
- 【附申请地址】阿里云网盘,内测资格,开放申请了!非会员下载 10MB/s!有图有真相!...
- 吴军三部曲见识(二) 人生需要做减法
- 从零开始编写网络游戏--卷首语
- python入门推荐
- 前端 | (二)各种各样的常用标签 | 尚硅谷前端html+css零基础教程2023最新