【mysql 查询某一主键在那些表中中被设置为外键了】教程文章相关的互联网学习教程文章

使用主键的多表的MYSQL总和【代码】

MySQL对我来说还是一个新手,所以我很难找到这个特殊问题的答案. 我有大约60个供应商表,我想加入一个表.很多我们的供应商都带有相同的商品,所以我想将所有商品添加到一个表中,而那些具有相同sku的商品则将数量加在一起.我还想插入更高的成本和价格,并将其四舍五入到0.99,但如果它变得太复杂或者不能成功,我现在只会坚持使用sku和quanitity.我想从2个表开始,直到我能弄明白,然后一旦我掌握了解决方案,我就可以对所有这些表进行处理.这...

mysql – 复合主键和Auto_Increment【代码】

参见英文答案 > mysql two column primary key with auto-increment 4个我正在尝试使用其中一个自动递增来执行复合键,但是当我尝试输入新行时,它只是继续顺序. 以下是发生的事情的例子:Item_1 | Item_2 1 | 1 1 | 2 2 | 3 2 | 4 2 | 5这是我想要的例子:Item_1 | Item_2 1 | 1 1 | 2 2 | 1 2 | 2 2 | 3我这样创建表:CR...

mysql – 获取错误1503:主键必须包含表的分区函数中的所有列【代码】

我有一个表结构像 – CREATE TABLE `cdr` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`dataPacketDownLink` bigint(20) DEFAULT NULL,`dataPacketUpLink` bigint(20) DEFAULT NULL,`dataPlanEndTime` datetime DEFAULT NULL,`dataPlanStartTime` datetime DEFAULT NULL,`dataVolumeDownLink` bigint(20) DEFAULT NULL,`dataVolumeUpLink` bigint(20) DEFAULT NULL, `dataplan` varchar(255) DEFAULT NULL, `dataplanType` varcha...

mysql – 如何从多列主键中选择一系列行?【代码】

我试图在MySQL 5.5中排队,为了做到这一点,我想选择两个主键之间的范围(我可以很容易地得到).当主键只有一列时,这是微不足道的.但是,我需要块的一些表在主键中有多个列,我还没有弄清楚如何在一个预备语句中使这个工作. 这是一个包含一些数据的示例表:CREATE TABLE test (a INT UNSIGNED NOT NULL,b INT UNSIGNED NOT NULL,c INT UNSIGNED NOT NULL,d VARCHAR(255) DEFAULT '', -- various data columnsPRIMARY KEY (a, b, c) ) ENG...

MySQL – 如果列已被​​索引,主键是否会再创建一个索引?【代码】

我有两个表用于多语言文章.在第一个表中,我没有文本列(id,authorid,date等).在第二个表中,我有文本列(标题,内容等). 对于第一个表中的每一行,我可以在第二个表中有许多行.例如,对于翻译成三种语言的文章,我在表2中有三行. 在表2中,列(id)具有表1的外键,这就是它已经被索引的原因.我不能为表2设置唯一的列ID,因为很明显它不是唯一的.但是,我无法编辑工作台中表2中的数据,因为它没有主键或非空唯一键. 我在计划中说的话:Table1{idda...

mysql – 如何编写迁移以使用ManyToManyField更改模型的主键【代码】

我有一个UserProfile模型,它使用OneToOneField引用我的User模型.我还使用post_save信号在创建用户时自动创建UserProfile.当我收到有关重复配置文件的错误时,除了通过管理员创建用户(我使用内联)时,这很有用. This answer recommends setting the primary key to be the OneToOneField referring to user. 所以之前:class UserProfile(models.Model):user = models.OneToOneField(settings.AUTH_USER_MODEL)# ...subjects = models...

如何让MySQL表主键自动递增?【代码】

CREATE TABLE IF NOT EXISTS `mydb`.`Info_instrumental` (`id_instrument` INT NOT NULL COMMENT '',`instrument` VARCHAR(45) NOT NULL COMMENT '',`exp_ins` VARCHAR(45) NULL COMMENT '',`User_name_user` VARCHAR(45) NOT NULL COMMENT '',PRIMARY KEY (`id_instrument`, `User_name_user` `) COMMENT '',INDEX `fk_Info_instrumental_User1_idx` (`User_name_user` ` ASC) COMMENT '',CONSTRAINT `fk_Info_instrumental_Us...

组合主键VS. MySQL中的二级密钥

我有一个包含两个特定列的表,一个是自动递增的数字,另一个是自定义数字.这两列将在where条件中频繁获取.现在我有2个InnoDB引擎的选择: >使用自动递增的数字作为主键,同时在自定义数字列上创建索引.这个选择将很快插入,因为新记录将逐个插入,但它会导致聚集索引上的某些合并或拆分.但是,在自定义数字列上构建索引需要额外的时间和空间.>我可以将自动递增的数字和自定义数字列一起用作主键.在插入时,记录不会一个接一个地放置,因此它...

MySql Update字段或Insert如果不存在,则没有主键

我有一个3列(所有数字)表,其字段为CustID(非唯一),ProdID(非唯一)和Price.唯一的“唯一性”是没有CustID / ProdID对重复.因此,每个客户对每个产品都有不同的“价格”.我正在使用三线方法. (a)搜索是否存在配对,(b)如果是,我更新价格,(c)如果没有,我将新配对与价格一起插入.我还没有为id创建索引(它可以用于开发目的.) 任何人都可以建议使用REPLACE指令的方法,大多数INSERT / ON DUPE示例似乎暗示主键是必要的.我通常总是有一个PK,只...

php – 避免来自不同MySQL数据库的主键冲突【代码】

我有几台服务器运行自己的特定MySQL数据库实例,遗憾的是无法在复制/集群中设置.每个服务器将数据插入到几个与用户相关的表中,这些表之间具有外键约束(例如user,user_vote).以下是该过程的进展: >所有服务器都以相同的数据开头>每个服务器独立于其他服务器生成自己的数据集>周期性地,来自所有服务器的数据被手动合并并应用回每个服务器(因此该过程从步骤1开始重复). 这是因为除了主键之外,用户表还包含一个唯一的电子邮件字段,该字...

mysql使用主键而不是索引【代码】

我有一个相当大的表,有几百万行:ID (primary) countrycode status flag_cc我尝试了以下sql语句,但它很慢:SELECT id, countrycode, status, flag_cc FROM table WHERE ID>=200000 AND countrycode=3 AND status=1 AND flag_cc=0所以我认为添加一个索引以加强查询是个好主意:ADD INDEX myindex(id, countrycode, status, flag_cc)然后我问:EXPLAIN SELECT id, countrycode, status, flag_cc FROM table WHERE ID>=200000 AND cou...

mysql – 复合主键和自动增量?什么是好的做法?【代码】

我正在开发具有多租户的SaaS应用程序,并且我决定使用单个数据库(MySQL Innodb)来获取客户端数据.我选择使用复合主键,如PK(client_id,id).我有两种方法, 1:自己增加“id”(通过触发器或代码) 要么 2:通过mysql将“id”设置为自动增量. 在第一种情况下,我将为每个客户端提供唯一的ID,因此每个客户端将具有id 1,2,3等.在第二种情况下,id将为所有客户增长.这里的最佳做法是什么?我的优先事项是:绩效,安全和缩放.谢谢!解决方法:您肯...

如何确定某个值是否作为mySql中的主键存在?【代码】

找出表中是否已存在具有特定值的主键的最佳方法是什么? 我能想到:SELECT key FROM table WHERE key = 'value';并计算结果,或:SELECT SQL_CALC_FOUND_ROWS key FROM table WHERE key = 'value' LIMIT 1; SELECT FOUND_ROWS();解决方法:我认为你在问题中的任何一个建议都是合适的. 根据您使用它的方式,您可以通过执行INSERT IGNORE来节省时间,如果主键不存在,则允许您插入新行.如果确实存在,则忽略错误,以便您可以正常继续. 其他类...

MySQL在2个数据库和主键冲突之间同步【代码】

我有一个开发和生产环境MySQL数据库的问题.我想合并2个数据库,但由于内容作者一直在向生产环境添加记录,因此大约有20个重叠记录具有相同的主键. 我使用Navicat进行数据同步,但它只是使用我的开发服务器上的记录更新生产服务器上的记录.主键并不意味着什么,我想要做的是给那些记录新的主键. 这可能通过Navicat吗?如果没有,手动进入数据库并更改主键是不是一个坏主意?或者这会影响MySQL的自动增量能力吗? 谢谢.解决方法:我无法回答...

为什么MySQL不使用JOIN上的主键加上ORDER?【代码】

这对你来说很简洁(显然是MySQL):# Setting things up DROP DATABASE IF EXISTS index_test_gutza; CREATE DATABASE index_test_gutza; USE index_test_gutza;CREATE TABLE customer_order (id MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT,invoice MEDIUMINT UNSIGNED NOT NULL DEFAULT 0,PRIMARY KEY(id) ); INSERT INTO customer_order(id, invoice)VALUES(1, 1),(2, 2),(3, 3),(4, 4),(5, 5);CREATE TABLE customer_invoice (i...