问题列表 - 第33334页

如何使用自动递增的主键作为外键?

这就是我想要做的:

我有2张桌子......

CREATE TABLE `parent` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `data` text,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

CREATE TABLE `child` (
  `parent_id` int(11) DEFAULT NULL,
  `related_ids` int(11) DEFAULT NULL,
  KEY `parent_id` (`parent_id`),
  KEY `related_ids` (`related_ids`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Run Code Online (Sandbox Code Playgroud)

然后是一个约束:

ALTER TABLE `parent` ADD FOREIGN KEY (`id`) REFERENCES `child` (`parent_id`);
Run Code Online (Sandbox Code Playgroud)

如您所见,表parent具有自动递增的主键"id",该主键也用作子表的外键.

现在我想在父表中插入一条记录,如下所示:

INSERT INTO parent SET DATA="abc";
Run Code Online (Sandbox Code Playgroud)

它失败了,错误:

无法添加或更新子行:外键约束失败(myschema.parent,CONSTRAINT parent_ibfk_1FOREIGN KEY(id)REFERENCES child(parent_id))

我知道它失败了,因为它没有在子表中找到引用的记录.如果我开始在子表中创建一个记录,将它的parent_id设置为1,然后重置父表的自动增量计数器(以便下一个插入将具有id = 1),它的工作原理!但那不是解决方案.

如果子表中没有相关的行,我没有看到插入阻塞的效用... …

mysql constraints foreign-keys database-relations auto-increment

6
推荐指数
1
解决办法
4万
查看次数

在PHP中"访问"一个URL

我的网站设置方式,我需要手动访问两个URL来触发邮件系统.一个URL编译电子邮件列表,另一个URL将其发送出去.

我想用cronjob自动化这个,但这就是问题所在.我正在使用Kohana框架,我不认为复制粘贴控制器内的代码将起作用.

完成我正在做的最简单的方法是每5分钟左右访问两个URL.是否可以在PHP中"访问"(缺少更好的单词)网站?

php kohana

2
推荐指数
1
解决办法
173
查看次数

在gdb(MinGW)中输入重定向

我正在尝试让gdb运行带有输入重定向到stdin的程序.例如,没有gdb我会运行这样的程序:

prog < input.txt
Run Code Online (Sandbox Code Playgroud)

现在在gdb中,通常的做法是run < input.txt.但是,它对我不起作用,当这样做时,没有任何东西被重定向到stdin.

我正在使用Windows与MinGW.可能是什么问题呢?

gdb mingw

20
推荐指数
2
解决办法
5254
查看次数

快速找到两个大文本文件之间的差异

我有两个3GB的文本文件,每个文件有大约8000万行.它们共享99.9%的相同行(文件A有60,000个唯一行,文件B有80,000个唯一行).

如何在两个文件中快速找到这些独特的行?是否有任何现成的命令行工具?我正在使用Python,但我认为找到一个有效的Pythonic方法加载文件并进行比较的可能性较小.

任何建议表示赞赏.

python diff text compare file

10
推荐指数
1
解决办法
1万
查看次数

创建通用Number子类的零值

我怎样才能一般地创建一个任意数字类型的零?

这是一个玩具示例:将空数转换为零的函数.

static <T extends Number> T zeroIfNull(T value) {
    return value == null ? 0 : value;
}
Run Code Online (Sandbox Code Playgroud)

这不会编译,因为文字零是类型int,我需要将其转换为类型T.

是否可以这样做?

java generics

14
推荐指数
1
解决办法
3735
查看次数

是否可以使用C++创建图像?

你能在Windows上用C++创建PNG,GIF等吗?

如果有可能,怎么样?例如,如何使png图像只有一种纯色.

只是一个"你好世界"的例子会很棒......

c++ image file

1
推荐指数
1
解决办法
6415
查看次数

除了大规模的Oracle集群之外,为什么每个人都想要NOSQL?

oracle在处理大型应用程序方面享有良好的声誉,并且可以灵活地扩展到集群环境.为什么每个人都想要NOSQL?

因为nosql db要便宜多少?为什么不开关面向对象的db?

database oracle oodb nosql

0
推荐指数
1
解决办法
1005
查看次数

卸载从源代码构建的python?

我从源代码安装了python 2.6,后来又错误地从包管理器中安装了另一个python 2.6.

我找不到卸载从源代码构建的python的方法,这可能/容易吗?

运行ubuntu 10.04.

python linux ubuntu python-2.x

43
推荐指数
2
解决办法
6万
查看次数

任何人都知道如何进行List <string> case insensitve比较

说我有一个名单

var names = new List<string>{"Tom", "Dick", "Harry"};
Run Code Online (Sandbox Code Playgroud)

现在说我想搜索汤姆.

names.Contains("Tom");
Run Code Online (Sandbox Code Playgroud)

不是问题但是我想用不同的外壳说"tOM".

谁能告诉我如何在不创建另一个类的情况下做到这一点?

我有一个解决方案,我有一个继承自的Comparer类IEqualityComparer.

谢谢!

c# asp.net

2
推荐指数
1
解决办法
139
查看次数

使用RSpec在Rails中测试视图助手

我需要测试以下帮助器:

def display_all_courses
  @courses = Course.all

  output =  ""

  for course in @courses do
    output << content_tag(:li, :id => course.title.gsub(" ", "-").downcase.strip) do
      concat content_tag(:h1, course.title)
      concat link_to("Edit", edit_course_path(course))
    end
  end

  return output
end 
Run Code Online (Sandbox Code Playgroud)

我想知道是否有办法可以测试这个输出.基本上,我只是想测试帮助器给我正确数量的li元素,也许是没有任何课程的情况.

我的第一个想法是做这样的事情:

describe DashboardHelper do
  describe display_all_courses do
    it "should return an list of all the courses" do
      7.times{Factory(:course)
      html = helper.display_all_courses
      html.should have_selector(:li)
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

这很好用.但是,如果我将:count选项添加到have_selector调用它突然失败,有人可以帮我弄清楚为什么会这样吗?

ruby rspec ruby-on-rails helper

2
推荐指数
1
解决办法
2959
查看次数