草庐IT

db_constraint

全部标签

mysql - 如何使用 Rails 将长文本存储到 MySql DB?

我正在尝试将长文本(在我的情况下是原始rss提要,但也可以是长博客文章或类似内容)存储到MySql数据库。我有一个迁移:change_column:contents,:description,:longtext但这给出了一个schema.rb:t.text"description",:limit=>2147483647实际上应该将限制设置为4294967295。为什么Rails规定一个上限是应该可能的一半? 最佳答案 不知道rails在以前的版本中是否正式支持:longtext,但在当前版本根据railsdocumentation,

java - 使用 MySql DB 获取 java 中准备好的语句的元数据

我想获取给定准备语句的参数名称和参数类型。我正在使用MySQL数据库。但是当我运行我的程序时,它抛出了一个错误:Exceptioninthread"main"java.sql.SQLException:Parametermetadatanotavailableforthegivenstatement在这条线上StringparamTypeName=paramMetaData.getParameterTypeName(param);我不知道为什么会这样。如果可能,请任何人帮助我。这是我的代码:importjava.sql.Connection;importjava.sql.DriverM

mysql - MySQL 和 Oracle DB 之间的差异

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter寻求指导。关闭11年前。MySQL和Oracle11g之间有什么区别-特性和性能?我希望能够根据情况在两者之间做出明智的选择。注意:测试链接显然会有所帮助。 最佳答案 MySQL仍然缺乏的东西(Oracle有)可延迟的约束检查约束递归查询表函数常用表表达式窗口函数基于函数的索引部分索引没有MINUS(或INTERSECT

MySQL - 无法添加或更新子行 : a foreign key constraint fails

这似乎是一个常见的错误,但我这辈子都想不通。我在MySQL中有一组InnoDB用户表,它们通过外键绑定(bind)在一起;父user表和一组存储电子邮件地址、操作等的子表。这些都通过外键绑定(bind)到父user表>uid,所有的父键和子键都是int(10)。所有子表都有一个uid值,外键约束指向user.uid,并设置为ONDELETECASCADE和ONUPDATECASCADE。当我从user中删除用户时,所有子约束条目都将被删除。但是,当我尝试更新user.uid值时,会导致以下错误,而不是将uid更改级联到子表:#1452-Cannotaddorupdateachildro

php - Laravel db 迁移 - renameColumn 错误 - 请求了未知的数据库类型枚举

我正在使用Laravel4.2。我的composer.json中加载了以下库"doctrine/dbal":"2.4.*",我创建了以下迁移:classRenameDeliveryNotesColumnOnOrderHeaderTableextendsMigration{publicfunctionup(){Schema::table('order_header',function(Blueprint$table){$table->renameColumn('delivery_notes','packing_notes');});}}其中delivery_notes列类型为text。当

mysql - 1452 - 无法添加或更新子行 : a foreign key constraint fails

我收到这个错误:1452-Cannotaddorupdateachildrow:aforeignkeyconstraintfails.我找到了它们并尝试用摆脱引用altertabletillhördropforeignkeykat_id;但得到这个错误:#1025-Erroronrenameof'.\recept\tillh@1ir'to'.\recept#sql2-1570-3cb'(errno:152).我做错了什么? 最佳答案 查询运行之前SETFOREIGN_KEY_CHECKS=0然后在完成后将其设置为1。

mysql - 拆分逗号分隔字符串 --> FUNCTION db.CHARINDEX 不存在

我需要将逗号分隔的字符串拆分为第二列我有下表:CL1POSPOS2LENGHTALLELE13015108,30151095A23015110,301520010B33015200,301530015C43015450,301550020D53015600,301570015E我想将逗号后的数字分成第二列POS2所以它应该是这样的CL1POSPOS2LENGHTALLELE1301510830151095A23015110301520010B33015200301530015C43015450301550020D53015600301570015E所以我查询了以下内容:INSERTIN

mysql - 返回的记录集已关闭(通过 VBA 中的 ODBC 访问 mysql DB)

长期观看者第一次海报。我正在开发一个带有Excel前端的数据库应用程序。因此我使用VBA访问MySQL数据库。我使用的驱动程序是ODBC驱动程序(Windows),并且我与数据库的连接有效,因为许多其他查询都运行良好。我想做的是从一系列SQL语句中返回结果,而不是试图将它们全部组合成一个庞大的语句(这可能有效,但难以维护/理解)。我已将标志FLAG_MULTI_STATEMENTS=67108864添加到抑制驱动程序语法错误的连接字符串中。但是现在当我运行以下命令时:queryDB.OpenSQLquery,connrecordset(queryDB)保持关闭状态,没有明显的错误。sq

mysql - 将 mysql 转储 sql 文件转换为可以导入 sqlite3 db 的格式的脚本

我有一个包含来自MySQL的表和数据的导出SQL文件,我想将它导入到Sqlite3数据库中。最好的方法是什么?仅通过sqlite3工具导入文件是行不通的。 最佳答案 这个shell脚本可以帮助你#!/bin/shif["x$1"=="x"];thenecho"Usage:$0"exitficat$1|grep-v'KEY"'|grep-v'UNIQUEKEY"'|grep-v'PRIMARYKEY'|sed'/^SET/d'|sed's/unsigned//g'|sed's/auto_increment/primarykeyauto

mysql - MySQL DB 中列名中的连字符

可能这个问题之前已经回答过,但我找不到。我正在使用一个2/3年前的MySQL数据库,它的列名中有连字符。当我尝试从我的Java代码中使用这些名称时,这些名称在连字符处被破坏(例如air_port变为air),因此找不到。我尝试在我的代码中将连字符替换为下划线,希望数据库可以平等对待它们,但这不起作用。如何转义连字符或如何访问这些列?这可能是正在使用的字符集的问题吗? 最佳答案 在`back-ticks`中包含名称 关于mysql-MySQLDB中列名中的连字符,我们在StackOverf