草庐IT

foreign_characters

全部标签

MySQL - ON 更新 CASCADE + foreign_key_checks = 0

我正在开发一种工具来合并两个具有相同架构但不同数据的数据库。其中一部分是将所有外键更改为ONUPDATECASCADE,然后递增所有主键以避免冲突并保持外键指针正常工作。我的问题是有时有一些孤立行的FK损坏,所以查询如下:UPDATEtablesetpk=pk+1000000失败是这样的:错误1452(23000):无法添加或更新子行:外键约束失败...(尽管我什至没有考虑触摸外键列!)我想通过以下方式关闭它:Setforeign_key_checks=0但是相关的外键没有更新。我做了一个快速测试,设置foreign_key_checks=0后级联不工作。有没有什么方法可以触发级联,或

mysql - MySQL 中一个 FOREIGN 列的 PRIMARY 和 INDEX 键

我使用MySQLWorkbench准备了一个数据库布局,并使用phpMyAdmin将其导出到我的数据库中。查看一张表时,我收到以下警告:PRIMARYandINDEXkeysshouldnotbothbesetforcolumngidgid是一个外索引,它是不同表的主键,也是当前表主键的一部分。所以我将它作为主键的一部分,Workbench为外键条目创建了一个索引。那么为什么会出现该警告,我应该忽略它,还是应该重新考虑我的数据库布局?这是所用结构的一个非常简化的示例,它会产生警告:CREATETABLEIFNOTEXISTS`test_groups`(`gid`INTNOTNULL,`

mysql - 设置 foreign_key_checks=0 不工作 MySQL 5.0

我们不支持InnoDB数据库。因此,在从5.0迁移到MySQL5.5之前,我希望将所有InnoDB表更改为MyISAM,但其中很多表都有外键约束。因此我想在执行setforeign_key_checks=0的session级别禁用它,但对于外键仍然会出现相同的错误。mysql>SETforeign_key_checks=0;QueryOK,0rowsaffected(0.00sec)mysql>usesn;Databasechangedmysql>altertablefacilityengine='MyISAM';ERROR1217(23000):Cannotdeleteorupdat

c# - UPDATE 语句与 asp.net mvc 5 中的 FOREIGN KEY 约束冲突

我收到这个错误:TheUPDATEstatementconflictedwiththeFOREIGNKEYconstraint"FK_TitleMember".Theconflictoccurredindatabase"ParishDBSQL",table"dbo.Titles",column'title_id'.Thestatementhasbeenterminated.控制者采取行动publicActionResultEdit(int?id){varmember=(fromhindb.Membersjoinfindb.Titlesonh.title_idequalsf.title_

php - SQLSTATE[42000] : Syntax error or access violation: 1064 default character set utf8 collate utf8_unicode_ci' at line 1

这个问题在这里已经有了答案:Syntaxerrororaccessviolationerrorwhilerunning"phpartisanmigrate"formigrationfilecontainingprimary&foreignkeys(2个答案)关闭去年。我正在尝试将此代码迁移到mysql数据库中,但不断收到此错误消息。SQLSTATE[42000]:Syntaxerrororaccessviolation:1064YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserververs

java - 重新引入 "Unknown initial character set index"错误?

我有一个连接到mysql的Java客户端应用程序服务器。客户端和服务器都在docker容器中运行。我注意到官方mysqlDocker镜像最近更新了mysql服务以运行Version:'8.0.1-dmr'由于此更改,我的Java客户端应用程序无法连接到mysql实例;它失败并出现以下错误:Causedby:java.sql.SQLException:Unknowninitialcharactersetindex'255'receivedfromserver.Initialclientcharactersetcanbeforcedviathe'characterEncoding'prop

MYSQL: ALTER TABLE DROP FOREIGN KEY 基于 SELECT 结果

我有以下mysql命令来删除外键约束:ALTERTABLEnetwork_profileDROPFOREIGNKEY'FK98875604AC3BAD33';但我更愿意先使用SELECT语句来发现外键constraint_id,然后在ALTERTABLE命令中使用它,但一直没有成功。这可能吗?尝试过:ALTERTABLEnetwork_profileDROPFOREIGNKEY(SELECTconstraint_nameFROMinformation_schema.key_column_usageWHEREcolumn_name='mt_check_list'ANDtable_sche

html - 如何使用 Perl 编码和解码 "Acute accented characters"

我在一个基于网络的教育网站工作,我们在其中使用Perl、MySQL5、Apache和模板工具包。我们计划在我们的网站中引入对多种\语言的支持。我们做了什么如果我们的模板文件中有一个像CoursesMainPage这样的选项卡名称,我们已将其转换为[%glossary.$language.courses_main_page%]$language获取用户在登录时选择的值。我们在Mysql数据库中有一个表来维护这些数据:CREATETABLEtranslation(englishvarchar(255)NOTNULL,languagevarchar(255)NOTNULL,translati

mysql - 将 MySQL 键列转换为 FOREIGN 列后,站点速度变慢

我以前从未使用过FOREIGNKEYS。我总是将id放在一个键列中,但它不一定是外键。所以它就像一个外键,但它不是。所以如果我有以下两个表CREATETABLE`accounts`(`account_id`int(11)unsignedNOTNULLAUTO_INCREMENT,`name`varchar(60)NOTNULL,`owner_id`int(11)unsignedNOTNULL,PRIMARYKEY(`account_id`),KEY`owner_id`(`owner_id`))ENGINE=InnoDBDEFAULTCHARSET=utf8CREATETABLE`use

mysql - 错误 1451 : 1451: Cannot delete or update a parent row: a foreign key constraint fails

我一直在寻找这个错误,偶然发现了几个性质相同的问题,但据我了解,他们似乎关心更新问题。我的源于删除条目。我的table是这样组成的:CREATETABLE`product`(`product_id`mediumint(8)unsignedNOTNULLAUTO_INCREMENTCOMMENT'representsuniqueidentifierforeveryexistingproducts',`code`varchar(20)NOTNULL,`name`varchar(45)NOTNULLCOMMENT'description',`price`decimal(11,4)NOTNUL