我得到这个错误消息: 在行40错误1217(23000):无法删除或更新父行:外键约束失败 …当我尝试放下一张桌子时: DROP TABLE IF EXISTS `area`; …定义如下: CREATE TABLE `area` ( `area_id` char(3) COLLATE utf8_spanish_ci NOT NULL, `nombre_area` varchar(30) COLLATE utf8_spanish_ci NOT NULL, `descripcion_area` varchar(100) COLLATE utf8_spanish_ci NOT NULL, PRIMARY KEY (`area_id`), UNIQUE KEY `nombre_area_UNIQUE` (`nombre_area`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci; 有趣的是, 我已经放弃了所有其他表格中有外键的area 。 实际上,除了area表之外,数据库是空的。 如果数据库中没有任何其他对象,它怎么可能有子行? 据我所知,InnoDB不允许其他模式的外键,是吗? (我甚RENAME TABLE area TO something_else可以运行RENAME TABLE […]
当我尝试安装mysql2的gem,它失败,没有明显的错误。 有谁知道该怎么做才能解决这个mysql2安装? Tanner-Smiths-MacBook-Pro:Humans_vs_Zombies_Parse tanner $ sudo gem install mysql2build立本地扩展。 这可能需要一段时间… 错误:安装mysql2时出错: 错误:无法构buildgem本机扩展。 /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb 检查rb_thread_blocking_region()…不 在-lmysqlclient中检查mysql_query()…不 在-lm中检查main()…是的 在-lmysqlclient中检查mysql_query()…不 在-lz中检查main()…是的 在-lmysqlclient中检查mysql_query()…不 检查main()in -lsocket …不 在-lmysqlclient中检查mysql_query()…不 检查main()in -lnsl … no 在-lmysqlclient中检查mysql_query()…不 在-lmygcc中检查main()…不 在-lmysqlclient中检查mysql_query()…不 *** extconf.rb失败*** 由于某种原因无法创buildMakefile,可能缺乏 必要的库和/或标题。 检查mkmf.log文件以获取更多信息 细节。 您可能需要configuration选项。 提供的configuration选项: –with-OPT-DIR –without-OPT-DIR –with-OPT-包括 –without-OPT-包括= $ {停用DIR} /包括 –with-OPT-LIB –without-OPT-LIB = $ {select-DIR} / lib目录 –with-MAKE-PROG –without-MAKE-PROG […]
我在数据库中有一些重复的东西,我想检查一下,所以我做了什么来看看哪些是重复的,我这样做了: SELECT relevant_field FROM some_table GROUP BY relevant_field HAVING COUNT(*) > 1 这样,我将得到不止一次发生的related_field的所有行。 这个查询需要几毫秒才能执行。 现在,我想检查每个重复项,所以我想我可以在some_table中select每行,并在上面的查询中使用relevant_field,所以我这样做: SELECT * FROM some_table WHERE relevant_field IN ( SELECT relevant_field FROM some_table GROUP BY relevant_field HAVING COUNT(*) > 1 ) 由于某种原因(这需要几分钟的时间),这样会变得exception缓慢。 到底究竟是怎么回事呢? relevant_field被编入索引。 最后,我试图从第一个查询(SELECT relevant_field FROM some_table GROUP BY relevant_field HAVING COUNT(*) > 1) related_field (SELECT relevant_field FROM some_table GROUP […]
由于内容types冲突,我无法将Django Fixtures加载到我的MySQL数据库中。 首先,我尝试从我的应用程序倾销数据,如下所示: ./manage.py dumpdata escola > fixture.json 但我一直在错过外键问题,因为我的应用程序“escola”使用来自其他应用程序的表。 我不断添加额外的应用程序,直到我得到这个: ./manage.py dumpdata contenttypes auth escola > fixture.json 现在,当我尝试加载数据作为testing夹具时,问题是以下约束冲突: IntegrityError: (1062, "Duplicate entry 'escola-t23aluno' for key 2") 看来问题是,Django试图dynamic重新创build与主键值不同的主键值的contenttypes。 这似乎与此处logging的错误相同: http : //code.djangoproject.com/ticket/7052 问题是推荐的解决方法是转储我已经在做的contenttypes应用程序! 是什么赋予了? 如果它有什么区别,我有一些自定义模型的权限,这里logging: http : //docs.djangoproject.com/en/dev/ref/models/options/#permissions
尝试将first_name,last_name保存到Django的auth_user模型时,出现奇怪的错误消息。 失败的例子 user = User.object.create_user(username, email, password) user.first_name = u'Rytis' user.last_name = u'Slatkevičius' user.save() >>> Incorrect string value: '\xC4\x8Dius' for column 'last_name' at row 104 user.first_name = u'Валерий' user.last_name = u'Богданов' user.save() >>> Incorrect string value: '\xD0\x92\xD0\xB0\xD0\xBB…' for column 'first_name' at row 104 user.first_name = u'Krzysztof' user.last_name = u'Szukiełojć' user.save() >>> Incorrect string value: '\xC5\x82oj\xC4\x87' […]
我已经改变了我所知道的所有php.ini参数:upload_max_filesize,post_max_size。 为什么我仍然看到2MB? 我使用Zend Server CE,在Windows 7主机上的Ubuntu VirtualBox上。
我对事务与locking表有点混淆,以确保数据库的完整性,并确保SELECT和UPDATE保持同步,没有其他连接干扰它。 我需要: SELECT * FROM table WHERE (…) LIMIT 1 if (condition passes) { // Update row I got from the select UPDATE table SET column = "value" WHERE (…) … other logic (including INSERT some data) … } 我需要确保没有其他查询会干扰和执行相同的SELECT (在连接完成更新行之前读取“旧值”。 我知道我可以默认LOCK TABLES table ,以确保一次只有一个连接正在做这件事,当我完成时解锁它,但这似乎是矫枉过正。 在一个事务中包装会做同样的事情(确保没有其他连接尝试相同的过程,而另一个正在处理)? 或者将一个SELECT … FOR UPDATE或SELECT … LOCK IN SHARE MODE更好?
我使用的是Fedora 14,我安装并运行了MySQL和MySQL服务器5.1.42。 现在我试图以root用户身份执行此操作: gem install mysql 但是我得到这个错误: Building native extensions. This could take a while… ERROR: Error installing mysql: ERROR: Failed to build gem native extension. /usr/bin/ruby extconf.rb mkmf.rb can't find header files for ruby at /usr/lib/ruby/ruby.h Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/mysql-2.8.1 for inspection. Results logged to /usr/lib/ruby/gems/1.8/gems/mysql-2.8.1/ext/mysql_api/gem_make.out 这里有什么问题? 在安装ruby1.8.7。 和最新的rubygems 1.3.7。
MyISAM的devise思想是,你的数据库被查询得远远超过它的更新,因此它执行非常快的读取操作。 如果您的读写(插入|更新)比率小于15%,则最好使用MyISAM。 InnoDB使用行级locking,提交,回滚和崩溃恢复function来保护用户数据。 它支持事务和容错 MyISAM和InnobDB之间的上述差异是否正确? 如果MYISAM和InnobDB有任何其他限制,请指导。 我应该何时使用MyiSAM或Innodb? 谢谢!
我有以下表格架构; CREATE TABLE `db1`.`sms_queue` ( `Id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, `Message` VARCHAR(160) NOT NULL DEFAULT 'Unknown Message Error', `CurrentState` VARCHAR(10) NOT NULL DEFAULT 'None', `Phone` VARCHAR(14) DEFAULT NULL, `Created` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, `LastUpdated` TIMESTAMP NOT NULL ON UPDATE CURRENT_TIMESTAMP, `TriesLeft` tinyint NOT NULL DEFAULT 3, PRIMARY KEY (`Id`) ) ENGINE = InnoDB; […]