将行插入到彼此引用为1对1的表中的最佳方法是什么?
我的意思是,在MySQL 5.5和表InnoDB中,我有一个类似于以下的数据库设计

当我们尝试在table1和table2中插入行时出现问题.由于MySQL中没有多表插入,因此我不能插入一行,因为两个表中的外键都是NOT NULL字段,并且应该同时插入两个表中.
哪个是解决这个问题的方法?
我想到了3个可能的解决方案,但我想知道是否有更多这些或哪个是最好的以及为什么.
将外键字段设置为NULLABLE,并在表中插入一行后插入另一行,然后更新de first.
正如上面所指出的那样但是有一个像-1这样的特殊值.首先,在一个表中插入一个key = -1等于NULL的外表,但避免将该字段设置为NULLABLE.然后,我们在另一个表中插入行并更新插入的第一行.
在两者之间创建关系表,虽然它不是必需的,因为它是1比1的比率
谢谢!!
编辑 我简要解释一下我需要这个循环关系:它是从父表到其子节点之间的非规范化.按照高性能的顺序,它始终是父表中排名最高的子项的引用.
我正在自学C#,OOP和WPF,因此填充的可能性是惊人的.
因此,有人可以解释为什么在我的小测试示例中单击按钮后,Name属性出现在TextBox中,但ListBox没有显示任何内容?
<Window x:Class="BindingTest.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="BindingTest" Height="250" Width="300">
<Grid Name="mainGrid">
<Grid.RowDefinitions>
<RowDefinition Height="50" />
<RowDefinition Height="50" />
<RowDefinition Height="100" />
</Grid.RowDefinitions>
<Button
Grid.Row="0"
Name="MakeIntListButton"
Click="MakeIntListButton_Click">Make and Display Integer List</Button>
<TextBox Grid.Row="1" Text ="{Binding Path=Name}"
/>
<ListBox
Grid.Row="2"
ItemsSource="{Binding Path=MyIntegers}"
/>
</Grid>
Run Code Online (Sandbox Code Playgroud)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace BindingTest
{
/// <summary>
/// Interaction logic for Window1.xaml …Run Code Online (Sandbox Code Playgroud) 我正在编写一个调查应用程序,我有一个可能有数百个输入字段的表单.如何编写控制器来处理此表单?我不能将每个输入指定为控制器的参数,这是不现实的.
我发现了MVCToolkit和UpdateFrom()方法,但这是正确的方法吗?如果是这样,我将如何在我的应用程序中安装MVCToolkit?
这有点奇怪....我们有一个在服务器(A)上运行的内部Web应用程序和在服务器(B)上运行的文档存储库.
我在页面上有简单的链接,我想让用户下载文档(从IIS服务器(A)).但是,在用户单击按钮之前,此文档在服务器(A)上不存在(因为有40多个要显示的文档无法在页面加载时加载它们)
当用户单击链接时(此时我希望提示下载)文档被复制到服务器(A),然后重定向到浏览器提示他们下载的页面.我相信我已经正确设置了内容标题,它可以在FireFox中使用.
IE(7)只是弹出一个窗口,然后窗口消失,如果我关闭安全设置它工作正常,但这不是一个选项.
任何想法如何解决这个问题.我不能直接指向服务器上的文件(B)
附加:是服务器B也是Web服务器
在MS SQL 2005或T-SQL中,您可以执行以下操作:
SELECT T.NAME, T.DATE
FROM (SELECT * FROM MyTable WHERE ....) AS T
Run Code Online (Sandbox Code Playgroud)
我没能在Oracle 9i DB上尝试类似的SQL.在MS SQL中,嵌套SQL被视为在fly上创建的临时/动态视图,之后被销毁.我怎样才能在Oracle中做类似的事情?我真的不想创建一个视图来做到这一点.