草庐IT

relational-database

全部标签

mysql - 数据库设计——关系与属性

我在设计数据库(SQL/MySQL)时遇到了问题。假设我们有一个用户,用户可以有很多friend和很多帖子,并填写了一些关于他自己的数据。很明显,对于friends,我们需要一个pivot_table用于n:n关系,对于posts,我们需要创建一个具有user_id(1:n)关系的额外表.所以我们需要users、user_friends和posts表。这是显而易见的。这才是处理关系的方式。但现在假设我们希望用户拥有以下数据:name-textdescription-textmaritalstatus-selectonlyonefromlistfavouritecolour-select

mysql - EF6 MySQL : Update-Database -Script generates SQL without semicolon

在将EF6与MySql结合使用时,我遇到以下不安情况:每次创建新迁移时,我都会使用以下方法将更改应用到我的开发环境Update-Database但是当我想为我的其他环境生成SQL脚本时(并保持在源代码控制中)我使用Update-Database-Script生成的SQL是这样的:CREATETABLE`AddressType`(`Id`NVARCHAR(10)NOTNULL,`Description`NVARCHAR(30)NOTNULL,PRIMARYKEY(`Id`))ENGINE=INNODBAUTO_INCREMENT=0CREATETABLE`Bank`(`Id`INTNOT

java - jdbc : Could not create connection to database server

这个问题在这里已经有了答案:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communicationslinkfailure(51个答案)关闭5年前。我正在尝试使用jdbc连接mysql数据库。这是我的数据库连接类:publicclassDatabase{StringuserName="myUserName";Stringpassword="myPass";Stringurl="jdbc:mysql://xxx.xxx.xxx.xxx:3306/database_Name?autoReconnect=true&useSS

mysql - 如何避免在 mysqldump 备份上出现 "use <database>"语句?

我正在使用这个命令语法:mysqldump-u-p--no-create-db--databasesmydatabase>/var/backups_DB/MyDatabase-$(date+"%d-%m-%Y-%H:%M:%S").sql但是我找不到如何防止在生成的文件中插入“usemydatabase”这一行。我应该使用哪个选项? 最佳答案 没错。删除--databases...https://www.computerhope.com/unix/mysqldum.htm--databases-BDumpseveraldatabas

mysql - 1 :1 relation 中的双向外键约束

我正在使用MySQL数据库。在我的关系数据模型中,我有两个彼此1:1相关的实体。在我的架构中,通过将FK字段放在两个表之一中来建立1:1关系,该字段与另一个表的PK相关。两个表都有PK,它们都是自动递增的BIGINT。我想知道是否有可能对它们进行ONDELETECASCADE行为以双向工作。即A1:1B,即【删除A也删除B】以及【删除B也删除A】。我意识到,就正确的应用程序设计而言,这可能不是绝对必要的,但我只是想知道这是否真的可行。据我所知,您不能对PK施加FK约束。 最佳答案 如果强制执行双向关系,则不可能插入此类记录。鸡和蛋。

mysql - Doctrine 2 : Use default 0 values instead of null for relation

对于Doctrine2的关系(多对一、一对一)是否可以使用值0而不是null?现在我有很多NOTNULL列,但我可能不会更改为空值。将MySQL中的默认值更改为0本身并不是解决方案,因为Doctrine总是设置用于插入/更新行的列。 最佳答案 不,这是不可能的。NULL在SQL中有非常特殊的含义。它代表“没有值(value)”,你可以验证你的逻辑即使在SQL级别也不会工作:CREATETABLEfoo(`id`INT(11)PRIMARYKEYAUTO_INCREMENT,`bar_id`INT(11));CREATETABLE`b

mysql - 添加外键约束时,哪个方向是最佳实践?

假设我有三个表,分别是profiles、profiles_skills和skills。这是一种HABTM关系,其中一个配置文件可以具有多个技能,并且一个技能可以属于多个配置文件。我需要在这些表之间设置一个外键约束。我的问题是,外键应该是什么方向?例如,我是否这样做:ALTERTABLEprofiles_skillsADDFOREIGNKEY(skill_id)REFERENCESskills(id);ALTERTABLEprofiles_skillsADDFOREIGNKEY(profile_id)REFERENCESprofiles(id);或者我应该这样做:ALTERTABLEpr

MySQL 工作台 : Cannot export a database

我遇到了有关数据库导出的问题。首先,我必须澄清一下,我使用的是MySQLWorkbench5.2.47。到目前为止,我遵循的程序如下:我按照http://mysqlworkbench.org/2012/07/migrating-from-ms-sql-server-to-mysql-using-workbench-migration-wizard/的说明进行操作为了创建与我的MSSQLDB的连接,以便将其转换为MySQLDB。然后我也检查了我的数据是否导入到数据库中。现在我想将它导出到一个sql文件/或最好导出到frm、myi、myd文件,以便将它们放在我的服务器中。我试图从中导出它们

mysql - 一对一关系还是使用同一张表?

我创建了以下表格:动漫(id,title,date),漫画(id,title,date),TVSeries(id,title,season,episode,date)其中一些已经有导演、流派、文章等的外键(用于一对多或多对多关系)。现在我想再创建两个表Reviews(id,rating,date)和Posts(id,thumbid,articleid,reviewid)。评论是关于一个动漫和/或漫画TVSerie的,反之亦然,但评论的属性可能在多个表格中。帖子也一样。这是单独表中一对一关系的典型示例,还是向现有表添加更多属性更有效?那么更多的表和关系还是更少的表更多的列?谢谢,我希望我

mysql - 无法 rake 分贝 :create:all -- Couldn't create database for {"encoding"= >"utf8", "username"= >"root", "adapter"= >"mysql"

我正在尝试在我的计算机上启动并运行一个Rails应用程序,但我在创建数据库时遇到了问题。我已经正确安装/设置rails、mysql并安装了mysql2.8.1gem(我用gemlist验证了这一点)。现在,我正在尝试运行“rakedb:create:all”,但出现以下错误:Couldn'tcreatedatabasefor{"encoding"=>"utf8","username"=>"root","adapter"=>"mysql","database"=>"pyo","host"=>"localhost","password"=>nil,"socket"=>"/tmp/mysql