标签: sql-insert

使用上一个插入的 ID 插入

我有表 A 和表 B 具有多对多关系。表AB是链接表。

Table:  Columns:
A       { Id, Name }
AB      { A_Id, B_Id }
B       { Id, Name }
Run Code Online (Sandbox Code Playgroud)

我想将行插入到表 A 中,然后使用该行的 Id(Id 具有自动递增的标识)插入到链接表中。

是否可以在单个 SQL 命令中执行此操作?

示例(伪sql):

insert into A (Name) values (@name)
insert into AB (A_Id, B_Id) values ([previous id], @b_Id)
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-insert

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

多行插入的“批量自增”ID

我正在 SQL Server 2017 中工作,我有一个以下形式的表:

表当前

COL1   COL2
-----------
 A      1
 B      3
 C     56
Run Code Online (Sandbox Code Playgroud)

我想定期将其插入表中tbl_release

该表将有一个额外的 ID 列,我希望随着每次“批量插入”自动递增。tbl_current例如,假设我执行into的摄取tbl_release,它看起来像这样:

tbl_release

ID   COL1   COL2
----------------
 1    A       1
 1    B       3
 1    C      56 
Run Code Online (Sandbox Code Playgroud)

现在,假设我使用相同的数据执行另一次摄取,它看起来像:

tbl_release

ID   COL1   COL2
----------------
 1    A       1
 1    B       3
 1    C      56 
 2    A       1
 2    B       3
 2    C      56  
Run Code Online (Sandbox Code Playgroud)

实现这一目标的最佳方法是什么?是否有一些 SQL Server 功能可以实现此目的,或者我是否需要运行一些子查询?

sql sql-server auto-increment sql-insert

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

“INSERT INTO 语句中的语法错误”错误 - 错误是什么?

我不确定这个错误可能来自哪里。

我正在使用 VB.NET 将数据插入到 MS Access 2016 中。我能够执行其他 SQL 查询没问题,但是这个查询返回Syntax error in INSERT INTO statement错误:

sql = "INSERT INTO Sense_Translation (SenseFK, LanguageCode, Translation) VALUES (?, ?, ?)"

cmd = New OleDbCommand(sql, myConnection)
cmd.Parameters.Add(New OleDbParameter("SenseFK", senseID))
cmd.Parameters.Add(New OleDbParameter("LanguageCode", lcodeID))
cmd.Parameters.Add(New OleDbParameter("Translation", tr.Translation))

Try
    cmd.ExecuteNonQuery()
    cmd.Dispose()
Catch ex As Exception
    MsgBox(ex.Message)
End Try
Run Code Online (Sandbox Code Playgroud)

我已经检查并仔细检查了 Access 和 VB.NET 中的表名是否匹配,参数是否匹配,以及参数在 SQL 语句和 Parameters.Add(我什至不确定后者是否重要,我只是为了以防万一。)

我还检查了传递给参数的类型是否匹配 -senseID是数字、lcodeID是数字tr.Translation还是字符串,与表匹配。尽管如果它是类型不匹配,我预计错误无论如何都会有所不同。

只是为了比较,当我执行下面的代码时,并没有返回错误:

sql = "INSERT INTO Sense (EntryFK, SenseInformation) …
Run Code Online (Sandbox Code Playgroud)

sql vb.net ms-access syntax-error sql-insert

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

将多行插入表中 - 出现错误 ORA-00933:SQL 命令未正确结束

create table employee (      
  employee_id number (5), 
  first_name varchar2(100), 
  last_name varchar2(100), 
  salary number (10), 
  department_id number(5), 
  hire_date date,
  constraint pk_emp primary key (employee_id) 
  )

  insert into employee (employee_id, last_name, salary )     
   values
   (129, 'khaj', 19000),
   (130, 'ravi', 20000);
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

oracle sql-insert

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

SQL Server - 位列的所有可能组合

我有一个带有 7 个 BIT 列(A、B、C、D、E、F 和 G)的空表。我希望用代表这些列的所有可能组合的行填充此表。理想情况下,不会有包含完全相同组合重复项的行。虽然我在这里显示了 7 列,但列数可能会更多,因此该解决方案应该是可扩展的。

填充后的表格片段如下所示:

在此处输入图片说明

理想情况下,这将基于 INSERT 语句,但我也对 T-SQL 循环解决方案持开放态度。我曾尝试使用 CROSS JOINS,但我有限的知识并没有让我走得很远。

任何帮助将不胜感激。

sql t-sql sql-server combinations sql-insert

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

如何使用 Web API 将多个数据项插入 SQL?

我有一个这样的代码:

public IHttpActionResult Post(CUSTOMER [] newCustomer)
{
    try
    {
        foreach (CUSTOMER item in newCustomer)
        {
            var AddedCust = db.CUSTOMERs.Add(item);
        }

        int insertedRecords = db.SaveChanges();
        return Ok(insertedRecords);
    }
    catch (Exception)
    {
        return BadRequest(ModelState);
    }
}
Run Code Online (Sandbox Code Playgroud)

使用 Postman,我尝试发布不止一条记录 - 但我得到了一个例外:

{

    "NAME": "test1",
    "SURNAME": "Aleksandrova",
    "BIRTHPLACE": "Minsk",
    "GENDER": "F",
    "IDENTITYNO": "AA75 857445",
    "IDENTITYPINCODE": 2552,
    "BIRTHDATE": "1970-06-19T00:00:00"
}
{

    "NAME": "test2",
    "SURNAME": "Aleksat34t34ndrova",
    "BIRTHPLACE": "Minsk",
    "GENDER": "F",
    "IDENTITYNO": "AA75 857445",
    "IDENTITYPINCODE": 2552,
    "BIRTHDATE": "1970-06-19T00:00:00"
}
{

    "NAME": "test3",
    "SURNAME": "Aleksandrova",
    "BIRTHPLACE": "Minsk",
    "GENDER": …
Run Code Online (Sandbox Code Playgroud)

c# json sql-insert asp.net-web-api

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

DECIMAL 值自行转换为 INT + 1

我有一个 C# 应用程序,用户可以在其中填写表单以将产品存储在 SQL Server 数据库中。

问题是每次存储产品(通过用户填写表单)时,价格(小数)都会自动转换为int并添加 1。

我最初认为这是应用程序的问题,但是,注册过程非常简单,我没有在那里发现任何错误,所以我直接从 SQL Server 插入了一行并且问题出现了,所以这告诉我问题是在 SQL Server 中,而不是在应用程序中

执行

insert into product (code, description, unit_price, stock, category_code)
values (7, 'Window Cleaner', 20.50, 20, 3)
Run Code Online (Sandbox Code Playgroud)

结果价格为 21。

这是表定义

CODE INT NOT NULL,
DESCRIPTION VARCHAR(30) NOT NULL,
UNIT_PRICE DECIMAL NOT NULL,
STOCK INT NOT NULL,
CATEGORY_CODE INT NOT NULL
CONSTRAINT PK_PRODUCT PRIMARY KEY(CODE),
CONSTRAINT FK_CATEGORY_CODE FOREIGN KEY (CATEGORY_CODE) REFERENCES Category(CODE),
CONSTRAINT PRODUCT_POSITIVE_VALUES CHECK(UNIT_PRICE > 0 AND CODE >= 0 AND STOCK …
Run Code Online (Sandbox Code Playgroud)

sql sql-server int decimal sql-insert

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

使用表中的 ID 并插入辅助表

目前我正在尝试编写一个 sql 语句,该语句从一个表中进行选择,然后使用主键插入到一个辅助表中。我很难弄清楚我会怎么做。这是我现在拥有的选择和插入。第一个选择将返回多个结果。我需要每晚运行一次,所以我需要让它动态。

SELECT ParentTypeId FROM Config_OrderParentQueueType
INSERT INTO [dbo].[Config_OrderParentQueueTypeNotes]
       ([ParentTypeId]
       ,[NoteDate]
       ,[NoteText]
       ,[NoteSubmittedById])
 VALUES
       (This is the ID I need to insert from the select
       ,GETDATE()
       ,'Default Note'
       ,6)
Run Code Online (Sandbox Code Playgroud)

我试图弄乱行数,但 ID 并不总是顺序的。提前感谢有关我将如何执行此操作的任何帮助。

sql t-sql sql-server select sql-insert

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

PostgreSQL ERROR 列不存在是指一个列值

projects在 postgreSQL 中有一个表,如下所示

id.    project_name.   col3.  col4
1111.   test.          ...    ...
Run Code Online (Sandbox Code Playgroud)

id仅当id不存在时,我才想为新插入一个新行。所以我写了下面的查询

INSERT INTO projects(id, project_name)
VALUES("1234", "Test_Project")
ON CONFLICT (id)
DO NOTHING
Run Code Online (Sandbox Code Playgroud)

但它给我一个错误

Query 1 ERROR: ERROR:  column "1234" does not exist
LINE 2: VALUES("1234", "Test_Project_...
Run Code Online (Sandbox Code Playgroud)

请建议。

** 编辑**

id表中的列是一个 uuid 并且不是唯一的。可以有多个具有相同 ID 的行。根据 GMB 的建议,我尝试了以下

INSERT INTO projects(id, project_name)
    VALUES('1234', 'Test_Project')
    ON CONFLICT (create unique index on projects(id))
    DO NOTHING
Run Code Online (Sandbox Code Playgroud)

我得到以下错误

Query 1 ERROR: ERROR:  syntax error at or near "create"
LINE …
Run Code Online (Sandbox Code Playgroud)

sql string postgresql sql-update sql-insert

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

如何将 C# 值插入到 MySql?

我想将 C# winform 值插入到 Mysql

有 3 列

name,id 是 TextBox 文本,gender 是 ComboBox 值

但是有错误和错误消息说: MySql.Data.MySqlClient.MySqlException: '你的 SQL 语法有错误; 检查与您的 MySQL 服务器版本相对应的手册,以了解在第 1 行的 '',')' 附近使用的正确语法

我应该修复什么代码?

using (MySqlConnection conn2 = new MySqlConnection(strconn))
        { 
            conn2.Open();
            string query = "INSERT INTO student1(name,id,gender) values ('" + name3.Text + "'," + id3.Text + "'," + gender3.SelectedValue+"');";
            MySqlCommand cmd = new MySqlCommand(query, conn2);
            cmd.ExecuteNonQuery();
        }
Run Code Online (Sandbox Code Playgroud)

c# mysql sql sql-insert

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