标签: sql-insert

使用循环引用SQL在TABLES中INSERT

我有2张桌子:

Empleados(**numEmpl**, nombre, apellido, sexo, telefono, salario, numDept)
Departamentos(**numDept**, nombreDept, numDirect)
Run Code Online (Sandbox Code Playgroud)

在出发中:

  1. numEmpl是主键
  2. numDept是Departamentos(numDept)的外键引用.在出发中:
  3. numDept是主键
  4. numDirect是Empleados的外键引用(numEmpl)

所以有一个循环引用.

首先我创建了表:

CREATE TABLE EMPLEADOS(numEmpl primary key, nombre, 
     apellido, sexo, telefono, salario, numDept)
CREATE TABLE DEPARTAMENTOS(numDept primary key, nombreDept, numDirect)
(i didn't write here each of type is each colum)
Run Code Online (Sandbox Code Playgroud)

现在我在它们之间创建引用:

ALTER TABLE DEPARTAMENTOS 
    ADD CONSTRAINT FK_DEPT_EMP FOREIGN KEY (numDirect) 
    REFERENCES EMPLEADOS(numEmpl)
ALTER TABLE EMPLEADOS 
    ADD CONSTRAINT FK_EMP_DEPT FOREIGN KEY (numDept) 
    REFERENCES DEPARTAMENTOS(numDept).
Run Code Online (Sandbox Code Playgroud)

它工作,所以现在我尝试插入一些数据:

INSERT INTO Empleados(numEmpl, nombre, apellidos, sexo, telefono, salario, numDept)
VALUES …
Run Code Online (Sandbox Code Playgroud)

sql create-table circular-reference sql-insert

5
推荐指数
1
解决办法
3773
查看次数

如何在INSERT上获取下一个ID?

我想确保为表上的每个插入增加ID列.

我试过这句话:

INSERT INTO Anlagenteil (ID, TaId, Subtype, Name)
VALUES                  (MAX(ID)+1, 0, 'BdAnlageteil', 'Barcodeleser0');
Run Code Online (Sandbox Code Playgroud)

不幸的是我收到此错误消息:

Msg 207, Level 16, State 1, Line 1
Invalid column name 'ID'.
Run Code Online (Sandbox Code Playgroud)

sql-server-2008 sql-insert

5
推荐指数
1
解决办法
2万
查看次数

将列添加到表并立即将数据添加到PostgreSQL中的列

我正在尝试在现有表中创建一个新列,并使用select语句进行除法以创建我想要插入到我的新列中的数据.我写的几个语句将作为单独的查询工作,但我无法将语句串在一起形成一个查询.

我仍在学习SQL并将其与mySQL和PostgreSQL一起使用.我上个月上了一堂关于SQL的课,现在我正在尝试做自己的项目以保持我的技能.

我正在做一些有关2012年在MN的选举结果的工作,以便在我的表格中使用,以了解我正在使用的数据.

我已经能够改变我的表并使用它们自己添加这些语句的新列.

ALTER TABLE mn2012ct_geom2 ADD COLUMN obama_pct decimal(10,2)
ALTER TABLE mn2012ct_geom2 ADD COLUMN romney_pct decimal(10,2)
Run Code Online (Sandbox Code Playgroud)

我能够使用这个select语句在我的终端应用程序中生成我想要的信息.我在这里要做的是从候选人投票的总票数中创建一个十进制数.

SELECT CAST (obama AS DECIMAL) / CAST (uspres_total AS DECIMAL) 
AS obama_pct FROM mn2012ct_geom2

SELECT CAST (romney AS DECIMAL) / CAST (uspres_total AS DECIMAL) 
AS obama_pct FROM mn2012ct_geom2
Run Code Online (Sandbox Code Playgroud)

现在我希望将这些信息添加到我创建的新列中,或者使用上面的Alter表语句,或者如果我在此查询之前创建列,则使用insert语句.

我尝试了这样的组合查询:

ALTER TABLE mn2012ct_geom2 ADD COLUMN obama_pct decimal(10,2) AS
(SELECT CAST (obama AS DECIMAL (10,2)) / CAST (uspres_total AS DECIMAL (10,2)) 
AS obama_pct FROM mn2012ct_geom2);
Run Code Online (Sandbox Code Playgroud)

或者像这一行使用Insert命令而不是alter table语句

INSERT INTO mn2012ct_geom2 (romney_pct) AS …
Run Code Online (Sandbox Code Playgroud)

sql postgresql alter-table sql-insert

5
推荐指数
1
解决办法
4万
查看次数

如何重置Access表的自动编号字段?(它不是从1开始)

我有一个INSERT INTO ... SELECT声明,将数据从一个表复制到另一个表.

但事实是,第二个表中的AutoNumber列值是从第一个表中的最后一个数字开始的.
意味着第一个表的计数是2000,那么,第二个表从2001年开始.

使用Access数据库,如何重置此值?

sql ms-access autonumber sql-insert

5
推荐指数
1
解决办法
2万
查看次数

在更新时创建触发器以将旧值插入MYSQL中的其他表

我有两张桌子。第一个是我的人员表,它具有ID,名称,creation_date作为值,我有一个old_person表(id,名称,modified_date),我想在其实际更改之前填充人员的值。我将如何处理?我尝试过触发器,但失败了。

我尝试如下

create trigger Person_Trigger Update on person
before update
as
insert into old_person(id, name, modified) 
select id, new.name, getdate()
from person
Run Code Online (Sandbox Code Playgroud)

这给了我语法错误...那里也没有太多的触发器引用,一点点推动将不胜感激!

mysql sql triggers sql-update sql-insert

5
推荐指数
1
解决办法
1万
查看次数

创建sqlite数据库时出现空指针异常

我在将数据插入Database时遇到此异常.我是android初学者,请帮我解决这个问题....我无法插入数据......我发布了我的代码和LOGCAT错误....

公共类Db扩展SQLiteOpenHelper {

Context context;
public static String databasename="modelnew.db";
private static final int SCHEMA_VERSION = 1;
public static String category_table="category";
public static String Id="categoryid";
public static String Name="caregoryname";



public Db(Context context) {
    //super(context,Environment.getExternalStorageDirectory()+"/"+databasename, null, 1);
    super(context,databasename, null, SCHEMA_VERSION);
    // TODO Auto-generated constructor stub
    this.context=context;
}

@Override
public void onCreate(SQLiteDatabase db) {
    // TODO Auto-generated method stub
    String query="create table category_table(Id integer primary key ,Name text)";
    db.execSQL(query);
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    // …
Run Code Online (Sandbox Code Playgroud)

android nullpointerexception sql-insert android-sqlite

5
推荐指数
1
解决办法
439
查看次数

如何在PostgresQL中的表中插入多个默认行

我有一个表,列中的列采用默认值:

create table indexing_table
(
  id SERIAL PRIMARY KEY,
  created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
);
Run Code Online (Sandbox Code Playgroud)

如何在此表中插入多个默认行?我是否必须重复该命令:

insert into indexing_table default values;
Run Code Online (Sandbox Code Playgroud)

我想要插入多少次?

sql postgresql insert sql-insert

5
推荐指数
1
解决办法
2939
查看次数

将日期时间(以毫秒为单位)插入SQL Server表问题

我发现了一些我认为与SQL中的时间分辨率有关的东西.这是我用过的一个例子:

CREATE TABLE #table
(
    DTstamp DATETIME NOT NULL
)

INSERT INTO #table VALUES ('1 apr 2016 15:01:02:129')

SELECT DTstamp FROM #table

DROP TABLE #table
Run Code Online (Sandbox Code Playgroud)

SELECT在这种情况下,SQL Server Management Studio中显示的结果为0.001:

2016-04-01 15:01:02.130
Run Code Online (Sandbox Code Playgroud)

尝试多个值时,显示的结果通常在插入时间的0.003秒内.有谁知道差异来自哪里?

SQL版本:

Microsoft SQL Server 2012 (SP3) (KB3072779) - 11.0.6020.0 (X64) 
Oct 20 2015 15:36:27 
Copyright (c) Microsoft Corporation
Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)
Run Code Online (Sandbox Code Playgroud)

sql time datetime sql-insert

5
推荐指数
1
解决办法
9188
查看次数

sql插入到表中的另一个表和常量值

我有2个SQL表,table1和table2.

table1有两列,我想向这些列插入值.其中一列应获取静态值,另一列应获取一个值,该值是来自table2的查询的结果.

如果我想单独插入静态数据,我会这样做:

INSERT INTO table1(login_id)
VALUES ('1234');
Run Code Online (Sandbox Code Playgroud)

如果我想单独插入动态值,我会这样做:

INSERT INTO table1(user_uuid)
SELECT users_uuid FROM table2 where first_name like 'ortal';
Run Code Online (Sandbox Code Playgroud)

如何在一个动作中将两个值都插入到table1中?

如果我尝试第一个查询,我得到:

11:20:45    INSERT INTO table1(login_id ,user_uuid) VALUES ('1234') Error Code: 1136. Column count doesn't match value count at row 1   0.000 sec

INSERT INTO `users`.`table1` (`login_id`) VALUES ('1234');

ERROR 1364: 1364: Field 'user_uuid' doesn't have a default value
Run Code Online (Sandbox Code Playgroud)

mysql sql sql-server sql-insert

5
推荐指数
1
解决办法
1352
查看次数

为DataGrip生成SQL插入

当您在控制台中运行查询(SELECT语句)时,从数据库检索到的数据将以表格式显示在“数据库控制台”工具窗口的“结果”窗格中。

我已经在datagrip帮助中进行了搜索,但是我只是想知道是否存在可用于为表内容或表格式的行生成INSERT INTO脚本的功能?

insert sql-insert datagrip

5
推荐指数
1
解决办法
6853
查看次数