Table_A:
id | user_id | stage_id | create_date
表_B:
id | stage_id | template_id | name | description | create_date
我通过使用ajax调用的页面上的表单将数据保存到这些文件中。我的问题是,如果stage_id user_id配对是唯一的,我只想在Table_a中插入一个新行。
我不想要的例子,表_A:
id user_id stage_id create_date
0129 | 24321 | 3202393 | 01/12/12
0129 | 39234 | 3202393 | 01/12/12
2329 | 39234 | 3202393 | 01/14/12
3459 | 39234 | 3202393 | 01/15/12
^这就是我不想发生的事情,有什么好的方法来处理吗?
应该是:
id user_id stage_id create_date
0129 | 24321 | 3202393 | 01/12/12
0129 | 39234 | 3202393 | 01/12/12
通过php类执行查询,如这个过于简单的例子:
$query = 'INSERT INTO Table_A ('.
'id, '.
'user_id, '.
'stage_id, '.
'create_date '.
') OUTPUT inserted.id '.
'VALUES ('.
'newid(), '.
'%s, '.
'%s, '.
'getdate()'.
')';
$this->db->Execute($query);
可能错过了一些愚蠢的东西,但我想有人可能会把我推向正确的方向,谢谢!
我只想查询您的表,看看您的stage_id,user_id对是否已经存在值。
所以类似于:
if not exists (select * from table_A where user_id = @myUserID and stage_id = @myStageID)
begin
insert into ...
end
如果您愿意在数据库中执行此操作,可以在sql server中使用UNIQUE约束:http://msdn.microsoft.com/en-us/library/ms191166.aspx