数据库INSERT INTO SET ... WHERE(SELECT ...)

时间:2015-08-13 06:10:49

标签: mysql sql database prepared-statement database-agnostic

如果表中没有Admin_User_Role_Id Admin_Id值,我试图将我的值插入表中。是否可以插入!

我的表结构:

Admin_User_Id (FK)
Admin_User_Role_Id (FK)
Is_Enabled (boolean flag)

查询我尝试但未成功

INSERT INTO role_association 
SET Admin_User_Id=61, Admin_User_Role_Id=2, Is_Enabled=0 
WHERE Admin_User_Role_Id 
NOT IN 
(SELECT Admin_User_Id, Admin_User_Role_Id FROM role_association)

我认为这是可能的,但我的逻辑错了。如何管理此查询才能成功运行!

2 个答案:

答案 0 :(得分:0)

INSERT语法不能有WHERE子句。只有当你使用INSERT INTO ... SELECT语句时,你才会发现INSERT有WHERE子句。

您可能需要注意编程逻辑中的条件,并编写一个简单的insert语句,并根据您的逻辑使用此语句来插入记录。希望你明白我的意思。

答案 1 :(得分:0)

您希望使用此查询作为参考

在表格中插入您的值

INSERT INTO Yourtablename(column1,column2,column3,...) VALUES('value1','value2','value3',.....);

您希望在表格中添加一个新列意味着使用此查询

** ALTER TABLE table_name ADD column_name datatype **