首页 > TAG信息列表 > primary-key

mysql-键PRIMARY的重复键位

我是MySQL的新手,但学习速度很快.我正在关注一个教程,一切顺利,直到我添加了一些记录.我正在Workbench 6.1中进行本教程. 这是本教程要我执行的操作: 用emp_no,first_name和last_name(其中emp_no是PK)创建一个非常简单的表之后,我们插入三个记录: no fn ln ------------------

Java-JPA-级联关系保持一对一关系

我有一个双向的一对一关系,我也希望其中一个实体的ID也是另一个实体的ID. 我的代码是这样的: @Entity public class UserProfile extends AbstractEntity{ @OneToOne(mappedBy="user",cascade = CascadeType.ALL) private UserPreferences preferences; //... }

python-SQL Alchemy默认值函数,用于在唯一的一组父子记录中模拟自动增量

我有一个小问题,我认为应该可以通过SQL Alchemy轻松解决,但我似乎无法正确解决.我有两个表,一个是父表,另一个是子表.对于每个子记录,它需要一个唯一的ID,但仅具有唯一的父记录的上下文. 我正在使用声明式基础方法. 我使用FK和关联函数设置了父子关系.我要实现的目标是获得类似伪自

java-使用票务服务器生成主ID?

我正在Java和Cassandra之上构建分布式应用程序.生成唯一的顺序32位& 64位ID,是一种类似于使用Flickr’s ticket servers生成主ID的方法吗?我对此特别感到兴奋,因为它可以帮助我将ID的大小减小到所需的32位或64位,否则,使用UUID可以将其增加到128位.我不希望这些ID完全连续,但至少要

MySQL是否会因高主键值而减慢速度?

如果我的表中主键的值的范围是200,000,000至200,000,100 查询是否会比值从1000到1100慢得多?解决方法:否.除非您为这些数字使用char / varchar字段,否则数字将以固定大小的原始二进制格式存储,并且数字的“大小”与搜索速度没有关系-1将在内部占据尽可能多的空间数据库为99999999999

Rails表中整数的默认大小(MySQL)

当我跑步 rails g model StripeCustomer user_id:integer customer_id:integer annotate 我有 # == Schema Information # Table name: stripe_customers # id :integer(4) not null, primary key # user_id :integer(4) # customer_id :integer(4) # cre

mysqldump auto_increment导致主键错误

我正在使用mysqldump(a)转储表,然后(b)将其插入其他地方.当我尝试执行部分(b)时出现问题.这是我得到的错误. 密钥“ PRIMARY”的条目“ 1”重复 现在,等等,等等.我知道我不会插入重复的主键….我检查了CREATE TABLE语句. id字段上的auto_incremement保留为id列的最大值:AUTO_INCREME

mysql-SQL:具有相同主键的两个表

我有两个表: >人员(personID,姓名,地址,电话,电子邮件) >播放器(dateOfBirth,学校) 我将使用什么代码,以便可以将Person中的personID用作Person和Player表中的主键? 我知道playerID wold也必须是Player中的外键.有任何想法吗?解决方法:尚不清楚您是否需要两个表格来获取此信息,除非有

java-JDBC SQLite不强制执行唯一主键约束

谁能向我建议为什么我的SQLite JDBC数据库不执行唯一主键约束? 创建表的方法是: public static void TableCars() { Connection c = null; Statement stmt = null; try { Class.forName("org.sqlite.JDBC"); c = DriverManager.g

PHP – 外键连接的3个表

我有一个表TableA,其中包含表TableB和TableC的2个不同的外键.我正在尝试从表TableB中获取数据,但取决于表TableC中的值. 通过此查询,我可以获取所有值,但是我不知道如何编写where子句来过滤和获取所需的数据. SELECT TableC.value1,TableB.value2 FROM TableA JOIN TableB ON Ta

mysql添加自动增量和附加键

我试图通过添加新列将其设置为自动增量并使用键来更改表. 该表已具有一个键,并且此键将是附加键.我得到的错误如下. error : Multiple primary key defined 我的代码是: alter table user add column id int (11) NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST; 我也尝试包装键名

mysql-主键-UUID主键为VARBINARY或BLOB或VARCHAR

我正在使用UUID作为其中一张表的主键. 将这个字段作为varchar / varbinary / blob的利弊是什么?解决方法:基于文本的UUID与基于二进制的UUID之间的区别是相当大的字节数-二进制表示形式为16个,而文本表示形式为30个-因此,二进制是可行的方法.我会选择在BLOB上使用VARBINARY-如果仅因

MySQL名称的主键约束

数据定义语句: CREATE TABLE Persons ( P_Id int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255), CONSTRAINT pk_PersonID PRIMARY KEY (P_Id) ) 的价值和目的是什么 约束pk_PersonID主键(P_Id)? 与此相对 主键(P_I

如果列(允许重复)的组合是唯一的,则MySQL仅插入新行

由于MySQL不支持IF EXISTS,我很难想到在MySQL中执行类似下面伪操作的语法: IF ((select count(*) from table where col1='var1' AND col2='var2' AND col3='var3' AND col4='var4' AND col5='var5')>0) then combination of vars exist in

mysql – 将主键列添加到no primay key旧表中

如果一个表,数据可能是重复的行数, 并且每行都没有主键, 我可以添加一列作为主键吗?解决方法:是.添加新列并使用AUTO_INCREMENT将其设置为主键.这样做会创建一个新列并自动为每一行添加唯一ID. ALTER TABLE old_table ADD pk_column INT AUTO_INCREMENT PRIMARY KEY;

在MySQL中向主键字段添加NOT NULL有什么意义?

将NOT NULL添加到主键字段有什么意义?主键已经不是唯一的null. 这是一个例子: CREATE TABLE student ( id int(11) AUTO_INCREMENT NOT NULL, name varchar(255), PRIMARY KEY(id) ) 为什么不这样定义它: CREATE TABLE student ( id int(11) AUTO_INCREMENT, name varcha

python – 如何在Django中为我的模型设置两个主键字段

我有这样的模型: class Hop(models.Model): migration = models.ForeignKey('Migration') host = models.ForeignKey(User, related_name='host_set') 我想迁移和托管两者是主键.解决方法:我会稍微改变一下. 我将使用默认主键(自动字段),并使用元类属性unique_together c

mysql – 如何重置表的主键?

在我的表tbphotos中,我有100条记录.然后我删除了所有记录,现在我想重新启动数据输入,我发现我的主键不是从1开始,而是从101开始, 有没有办法重置主键? 我正在使用MySQL管理员帐户.解决方法:alter table foo AUTO_INCREMENT = 1

sql – 如何选择我的主键?

我在choosing a primary key找到了这个阅读材料. >是否有关于如何为给定表选择主键的指南/博客文章? >我应该使用自动递增/生成的密钥,还是应该将主密钥建立在正在建模的数据上(假设它具有真正唯一的字段)?>主键是否总是为了性能而长,或者我可以将外部唯一ID作为主键,即使它是一个字

Python Pandas to_sql,如何用主键创建表?

我想用Pandas的to_sql函数创建一个MySQL表,它有一个主键(在mysql表中有一个主键通常很好),如下所示: group_export.to_sql(con = db, name = config.table_group_export, if_exists = 'replace', flavor = 'mysql', index = False) 但这会创建一个没有任何主键的表(甚至没有任何索

php – 如何获取表的主键?

有没有办法从mysql-database获取主键字段的名称?例如: 我有这样一张桌子: +----+------+ | id | name | +----+------+ | 1 | Foo1 | | 2 | Foo2 | | 3 | Foo3 | +----+------+ 字段id是主键(它有自动增量,但我不能使用它).如何在php中检索字段名称“id”?解决方法:更好的方法是使

MySQL – 创建表时一起使用时“PRIMARY KEY”,“UNIQUE KEY”和“KEY”的含义

任何人都可以解释PRIMARY KEY,UNIQUE KEY和KEY的用途,如果它在MySQL中的一个CREATE TABLE语句中放在一起? CREATE TABLE IF NOT EXISTS `tmp` ( `id` int(11) NOT NULL AUTO_INCREMENT, `uid` varchar(255) NOT NULL, `name` varchar(255) NOT NULL, `tag` int(1) NOT NULL

mysql – Rails ActiveRecord处理不是主键的id列

使用ActiveRecord自动分配:id属性作为主键,即使它是一个单独的列. Table - legacy-table id - int pk_id - int (primary key) name - varchar2 info - varchar2 模型 class LegacyModel < ActiveRecord::Base self.table_name = 'legacy-table' self.prima

如何在没有ArrayIndexOutOfBoundsException的情况下通过executeBatch获取生成的密钥?

以下方法我想同时插入几个记录. public void insert() { try { this.connection.setAutoCommit(false); PreparedStatement ps = this.connection.prepareStatement( "INSERT INTO COMPANY (NAME,Address) Values (?,?)", new String[]{&qu

奇怪的Mysql增量

Mysql自动递增6.我不知道为什么或如何解决问题. create table new_table(tinyint unsigned primary key auto_increment, display_name varchar(50)); 我也用过 create table new_table(int unsigned primary key auto_increment,