草庐IT

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

coder 2023-10-12 原文

我们不支持 InnoDB 数据库。因此,在从 5.0 迁移到 MySQL 5.5 之前,我希望将所有 InnoDB 表更改为 MyISAM,但其中很多表都有外键约束。

因此我想在执行 set foreign_key_checks=0 的 session 级别禁用它,但对于外键仍然会出现相同的错误。

mysql> SET foreign_key_checks = 0;
Query OK, 0 rows affected (0.00 sec)

mysql> use sn;
Database changed
mysql> alter table facility engine='MyISAM';
ERROR 1217 (23000): Cannot delete or update a parent row: a foreign key constraint fails

令人惊讶的是:

mysql> SHOW Variables WHERE Variable_name='foreign_key_checks';
Empty set (0.00 sec)

mysql> SET foreign_key_checks = 0;
Query OK, 0 rows affected (0.00 sec)

mysql> SHOW Variables WHERE Variable_name='foreign_key_checks';
Empty set (0.00 sec)

MySQL 5.0 documentation说明变量确实存在。

Here is the table structure of `facility` table:
| facility | CREATE TABLE `facility` (
  `FacilityId` bigint(20) NOT NULL auto_increment,
  `FacilityName` varchar(45) default NULL,
  `ViewerId` bigint(20) default NULL,
  `MessageTemplate` varchar(256) default NULL,
  `RecApp` varchar(60) default NULL,
  `RecFacility` varchar(60) default NULL,
  `SendApp` varchar(60) default NULL,
  `SendFacility` varchar(60) default NULL,
  `MirthChannelEnable` int(1) NOT NULL default '0',
  `CompletenessCriteria` int(2) NOT NULL,
  `RetryLimit` int(2) NOT NULL default '3',
  `WatchDelay` int(11) NOT NULL,
  `RetryDelay` int(11) NOT NULL,
  `AckTimeOut` int(11) NOT NULL,
  `KeepConOpen` int(1) NOT NULL default '0',
  `SendTimeout` int(11) NOT NULL,
  `EncryptURL` int(1) NOT NULL default '0',
  `Host` varchar(15) NOT NULL,
  `Port` int(11) NOT NULL,
  `CreationDate` timestamp NOT NULL default CURRENT_TIMESTAMP,
  `Description` varchar(256) default NULL,
  `EventLogOffset` int(11) NOT NULL default '0',
  PRIMARY KEY  (`FacilityId`),
  KEY `Fk_Fac_ViewerId_idx` (`ViewerId`),
  CONSTRAINT `Fk_Fac_ViewerId` FOREIGN KEY (`ViewerId`) REFERENCES `viewer` (`ViewerId`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |

最佳答案

作为 foreign key constraint 上的 MySQL 文档说(突出显示是我的):

Also, if a table has foreign key constraints, ALTER TABLE cannot be used to alter the table to use another storage engine. To change the storage engine, you must drop any foreign key constraints first.

文档来自 v5.5,但我认为此限制也适用于 v5.0。

更新

是的,我在 Oracle 的网站上找到了 v5.0 手册和 relevant section说的一样:

Also, if an InnoDB table has foreign key constraints, ALTER TABLE cannot be used to change the table to use another storage engine. To alter the storage engine, you must drop any foreign key constraints first.

关于mysql - 设置 foreign_key_checks=0 不工作 MySQL 5.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41139724/

有关mysql - 设置 foreign_key_checks=0 不工作 MySQL 5.0的更多相关文章

  1. ruby - 使用 RubyZip 生成 ZIP 文件时设置压缩级别 - 2

    我有一个Ruby程序,它使用rubyzip压缩XML文件的目录树。gem。我的问题是文件开始变得很重,我想提高压缩级别,因为压缩时间不是问题。我在rubyzipdocumentation中找不到一种为创建的ZIP文件指定压缩级别的方法。有人知道如何更改此设置吗?是否有另一个允许指定压缩级别的Ruby库? 最佳答案 这是我通过查看ruby​​zip内部创建的代码。level=Zlib::BEST_COMPRESSIONZip::ZipOutputStream.open(zip_file)do|zip|Dir.glob("**/*")d

  2. ruby-on-rails - 由于 "wkhtmltopdf",PDFKIT 显然无法正常工作 - 2

    我在从html页面生成PDF时遇到问题。我正在使用PDFkit。在安装它的过程中,我注意到我需要wkhtmltopdf。所以我也安装了它。我做了PDFkit的文档所说的一切......现在我在尝试加载PDF时遇到了这个错误。这里是错误:commandfailed:"/usr/local/bin/wkhtmltopdf""--margin-right""0.75in""--page-size""Letter""--margin-top""0.75in""--margin-bottom""0.75in""--encoding""UTF-8""--margin-left""0.75in""-

  3. ruby-openid:执行发现时未设置@socket - 2

    我在使用omniauth/openid时遇到了一些麻烦。在尝试进行身份验证时,我在日志中发现了这一点:OpenID::FetchingError:Errorfetchinghttps://www.google.com/accounts/o8/.well-known/host-meta?hd=profiles.google.com%2Fmy_username:undefinedmethod`io'fornil:NilClass重要的是undefinedmethodio'fornil:NilClass来自openid/fetchers.rb,在下面的代码片段中:moduleNetclass

  4. ruby-on-rails - 'compass watch' 是如何工作的/它是如何与 rails 一起使用的 - 2

    我在我的项目目录中完成了compasscreate.和compassinitrails。几个问题:我已将我的.sass文件放在public/stylesheets中。这是放置它们的正确位置吗?当我运行compasswatch时,它不会自动编译这些.sass文件。我必须手动指定文件:compasswatchpublic/stylesheets/myfile.sass等。如何让它自动运行?文件ie.css、print.css和screen.css已放在stylesheets/compiled。如何在编译后不让它们重新出现的情况下删除它们?我自己编译的.sass文件编译成compiled/t

  5. ruby-on-rails - 如何使用 instance_variable_set 正确设置实例变量? - 2

    我正在查看instance_variable_set的文档并看到给出的示例代码是这样做的:obj.instance_variable_set(:@instnc_var,"valuefortheinstancevariable")然后允许您在类的任何实例方法中以@instnc_var的形式访问该变量。我想知道为什么在@instnc_var之前需要一个冒号:。冒号有什么作用? 最佳答案 我的第一直觉是告诉你不要使用instance_variable_set除非你真的知道你用它做什么。它本质上是一种元编程工具或绕过实例变量可见性的黑客攻击

  6. ruby - 无法让 RSpec 工作—— 'require' : cannot load such file - 2

    我花了三天的时间用头撞墙,试图弄清楚为什么简单的“rake”不能通过我的规范文件。如果您遇到这种情况:任何文件夹路径中都不要有空格!。严重地。事实上,从现在开始,您命名的任何内容都没有空格。这是我的控制台输出:(在/Users/*****/Desktop/LearningRuby/learn_ruby)$rake/Users/*******/Desktop/LearningRuby/learn_ruby/00_hello/hello_spec.rb:116:in`require':cannotloadsuchfile--hello(LoadError) 最佳

  7. ruby-on-rails - rspec should have_select ('cars' , :options => ['volvo' , 'saab' ] 不工作 - 2

    关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭8年前。Improvethisquestion在首页我有:汽车:VolvoSaabMercedesAudistatic_pages_spec.rb中的测试代码:it"shouldhavetherightselect"dovisithome_pathit{shouldhave_select('cars',:options=>['volvo','saab','mercedes','audi'])}end响应是rspec./spec/request

  8. ruby-on-rails - date_field_tag,如何设置默认日期? [ rails 上的 ruby ] - 2

    我想设置一个默认日期,例如实际日期,我该如何设置?还有如何在组合框中设置默认值顺便问一下,date_field_tag和date_field之间有什么区别? 最佳答案 试试这个:将默认日期作为第二个参数传递。youcorrectlysetthedefaultvalueofcomboboxasshowninyourquestion. 关于ruby-on-rails-date_field_tag,如何设置默认日期?[rails上的ruby],我们在StackOverflow上找到一个类似的问

  9. ruby-on-rails - s3_direct_upload 在生产服务器中不工作 - 2

    在Rails4.0.2中,我使用s3_direct_upload和aws-sdkgems直接为s3存储桶上传文件。在开发环境中它工作正常,但在生产环境中它会抛出如下错误,ActionView::Template::Error(noimplicitconversionofnilintoString)在View中,create_cv_url,:id=>"s3_uploader",:key=>"cv_uploads/{unique_id}/${filename}",:key_starts_with=>"cv_uploads/",:callback_param=>"cv[direct_uplo

  10. ruby-on-rails - 在 Rails 开发环境中为 .ogv 文件设置 Mime 类型 - 2

    我正在玩HTML5视频并且在ERB中有以下片段:mp4视频从在我的开发环境中运行的服务器很好地流式传输到chrome。然而firefox显示带有海报图像的视频播放器,但带有一个大X。问题似乎是mongrel不确定ogv扩展的mime类型,并且只返回text/plain,如curl所示:$curl-Ihttp://0.0.0.0:3000/pr6.ogvHTTP/1.1200OKConnection:closeDate:Mon,19Apr201012:33:50GMTLast-Modified:Sun,18Apr201012:46:07GMTContent-Type:text/plain

随机推荐