【问题标题】:Database INSERT INTO SET ... WHERE(SELECT ...)数据库 INSERT INTO SET ... WHERE(SELECT ...)
【发布时间】:2015-11-05 23:25:01
【问题描述】:

如果表中不存在针对Admin_IdAdmin_User_Role_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)

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

【问题讨论】:

  • 检查你的查询在哪里选择查询
  • @MukeshKalgude 选择查询在完整语句的最后一行
  • 你学习sql insert into tablename select的基本查询......

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


【解决方案1】:

INSERT 语法不能有 WHERE 子句。唯一一次你会发现 INSERT 有 WHERE 子句是当你使用 INSERT INTO...SELECT 语句时。

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

【讨论】:

    【解决方案2】:

    您想使用此查询将值插入表中以供参考

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

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

    ** ALTER TABLE table_name ADD column_name 数据类型**

    【讨论】:

    • 谢谢。但这不是我所问的解决方案!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-05
    • 1970-01-01
    • 1970-01-01
    • 2010-10-26
    • 2012-01-23
    • 2012-07-06
    • 1970-01-01
    相关资源
    最近更新 更多