我想从旧的数据库表中获取值到新的数据库表.
旧数据库结构:
表I: Country
新的数据库结构
表二: Countries
我使用了以下插入查询,如,
select 'insert into Countries (Id, Name) select ', countryid, countryname from Country
Run Code Online (Sandbox Code Playgroud)
但我有结果,如,
insert into Countries(Id,Name) select 1 Indiainsert into Countries(Id,Name) select 2 Any Country像那样.
但我需要结果,如,
insert into Countries (Id, Name) values (1, 'India')
Run Code Online (Sandbox Code Playgroud)
为实现这一目标,查询是什么?帮我...
我正在编写关于将数据从文件导入SQL Server表的方法的研究生工作.我已经创建了自己的程序,现在我将它与一些标准方法进行比较,如bcp,BULK INSERT,INSERT ... SELECT*FROM OPENROWSET(BULK ...).我的程序从文件中读取行,解析它们并使用普通的INSERT逐个导入它们.我生成的文件有100万行,每行有4列用于测试.现在我的情况是我的程序工作160秒,而标准方法工作5-10秒.
那么问题是为什么BULK操作比100万INSERT更快?他们是否使用特殊手段?你可以解释一下,还是给我一些有用的链接?谢谢!
假设我有一个表“day_attribute_type”
id bigint(20) AI PK
code varchar(255)
persist_date bigint(20)
update_date bigint(20)
active bit(1)
max int(11)
min int(11)
name varchar(255)
Run Code Online (Sandbox Code Playgroud)
如果我在结果网格中添加一个新行并按“应用”按钮,我将得到以下查询:
INSERT INTO `tl2`.`day_attribute_type` (`persist_date`, `update_date`, `active`, `max`, `min`, `name`)
VALUES ('1', '2', b'1', b'12', b'12', b'text');
Run Code Online (Sandbox Code Playgroud)
看起来 Workbench 不仅将“b”放在位字段之前,而且还放在其他一些字段之前。后期编辑查询并删除有问题的东西真的很烦人。
MySQL WorkBench 8.0.16 x64、Windows 10 MYSQL 社区服务器 8.8.12
我已经更新 MySQL Workbench 一年了,这个讨厌的错误仍然出现......我什至重新安装了我的 Windows。
看起来没有人会修复它。这里提到了。请有人尝试在 Linux/Max 上重现此错误并确认您是否有此错误。
有2个表.第一个有fname(名字),lname(姓),第二个有很多列,包括:( salutation先生,博士等),fname(名字),mname(中间名),lname(姓),独特标识和日期.
我希望创建包含第三表中Salutation,fname,mname,lname,uid,added从另外2本表中的信息,然后我将丢弃该第一表和重新创建第二表中删除那些列.
这就是我所拥有的:
CREATE TABLE MyTable
(
Id int IDENTITY (1, 1) PRIMARY KEY,
Salutation varchar(20) NULL DEFAULT (NULL),
Fname varchar(30) NOT NULL,
Mname varchar(30) NULL DEFAULT (NULL),
Lname varchar(30) NOT NULL,
Uid uniqueidentifier NULL DEFAULT (NULL),
Added Date NOT NULL DEFAULT (getdate())
);
INSERT INTO MyTable (Fname, LName)
SELECT Fname, Lname
FROM TABLE1
Run Code Online (Sandbox Code Playgroud)
这是我困惑的地方:
INSERT …Run Code Online (Sandbox Code Playgroud) 我有下面的触发器,其中FIELD_NAME我想将字段值插入FIELD_TRACKING表中'Deactivation time of KPI in case of Downtime(Select KPI_FREQ_TIME_UNIT FROM KPI_DEFINITION)'。该字符串值中的括号部分来自表KPI_FREQ_TIME_UNIT的字段KPI_DEFINITION。下面是我为此编写的触发器。触发器编译没有任何错误。但是当我尝试更改表DNTM_REAC_AFTER_HRS中的字段KPI_DEFINITION时,我收到错误ORA-04091: table RATOR_MONITORING_CONFIGURATION.KPI_DEFINITION is mutating, trigger/function may not see it ORA-04088: error during execution of trigger 'RATOR_MONITORING_CONFIGURATION.TRG_TRK_KPI_DEFINITION'。
create or replace TRIGGER RATOR_MONITORING_CONFIGURATION."TRG_TRK_KPI_DEFINITION" AFTER UPDATE ON RATOR_MONITORING_CONFIGURATION.KPI_DEFINITION
FOR EACH ROW
IF NOT :old.DNTM_REAC_AFTER_HRS=:new.DNTM_REAC_AFTER_HRS THEN
INSERT INTO RATOR_MONITORING_CONFIGURATION.FIELD_TRACKING (FIELD_TRACKING_ID,TABLE_NAME,TABLE_ID, FIELD_NAME,FIELD_OLD_VALUE,FIELD_NEW_VALUE,USER_ID, TIMESTAMP, FIELD_TRACKING_COMMENTS)
VALUES (FIELD_TRACKING_SEQ.NEXTVAL,'KPI_DEFINITION',:new.KPI_DEF_ID,'Deactivation time of KPI in case of Downtime'|| '(' || to_char((Select KPI_FREQ_TIME_UNIT FROM …Run Code Online (Sandbox Code Playgroud) 使用 SQLMAP 提取数据库表和列工作正常,但当我尝试执行 INSERT 语句时,出现以下错误:
询问:
sqlmap -u "http://www.example.com/details.php?item_id=327" -D main_db -T orders --columns --sql-query \ "INSERT INTO orders (order) VALUES ('test')"
Table:orders
+---------+----------+
| Column | Type |
+---------+----------+
| order | longtext |
| data | date |
| timp | time |
+---------+----------+
[22:47:50] [WARNING] execution of custom SQL queries is only available when stacked queries are supported
INSERT INTO orders (order) VALUES ('test'): None
[22:47:50] [INFO] fetched data logged to text files under '/root/.sqlmap/output/www.example.com'
Run Code Online (Sandbox Code Playgroud)
是否有任何解决方法可以在 MYSQL …
我有 2 个表:具有列(id、用户名、密码)的用户和具有列(user_id、失败、时间)的 user_failed。有什么可能的方法可以仅使用用户名插入表 user_failed 中?我尝试这段代码但失败了:
INSERT INTO `login_attempts`(`user_id`, `time`, `failed`)
VALUES (SELECT user_id FROM users WHERE username = 'pokemon','',3)
Run Code Online (Sandbox Code Playgroud) 我创建了一个名为“view_employee”的视图,如下所示:
CREATE VIEW view_employee AS
SELECT employee.surname || ', ' || employee.name AS comp_name, employee.sex, sections.name AS section_name, employee_age
FROM sections, employee WHERE employee.section = sections.sect_code;
Run Code Online (Sandbox Code Playgroud)
我想使用视图将数据插入表中,如下所示:
INSERT INTO view_employee VALUES ('Doe, John', 'm', 'Marketing', 34);
Run Code Online (Sandbox Code Playgroud)
以下是表的列和约束:
create table sections(
sect_code number(2),
name varchar2(20),
income number(5,2)
constraint CK_sections_income check (income>=0),
constraint PK_sections primary key (sect_code)
);
create table staff(
ident number(5),
document char(8),
sex char(1)
constraint CK_staff_sex check (sex in ('f','m')),
surname varchar2(20),
name varchar2(20),
address varchar2(30),
section number(2) not …Run Code Online (Sandbox Code Playgroud) WITH upt as (
UPDATE backend."orders" SET "statusId" = 5
WHERE "userId" IN (177962,88265) and "statusId" IN (0,1,2,3,4) RETURNING *
)
INSERT INTO __test_result(orderid) VALUES ((SELECT orderid FROM upt))
Run Code Online (Sandbox Code Playgroud)
需要更新和记录数据,得到这个错误
ERROR: column "orderid" does not exist Hint: There is a column named
"orderid" in table "__test_result", but it cannot be referenced from this part of the query.
Run Code Online (Sandbox Code Playgroud)
如何在表中插入所有“upt”行?它必须看起来
"upt.orderid","jsonb for that orderid"
Run Code Online (Sandbox Code Playgroud)
对于每个订单 jsonb 必须从具有相同 orderid 的“upt”列创建
我正在尝试使用 Entity Framework Core 快速执行大量包含大量数据的单独插入。我将数据插入到几个相关的表中,偶尔会收到SqlException以下消息;
事务(进程 ID 120)在与另一个进程的锁资源上发生死锁,并已被选为死锁牺牲品。重新运行事务。
我正在做的唯一读取是作为插入的一部分来检索新创建记录的 ID。您可以从发生的插入中看到 Entity Framework Core 日志。如果它有所作为,我向 UniqueId 列添加了一个非聚集索引。
如何避免死锁并因此获得更好的性能?
2018-06-13 17:11:59 DBG Executing DbCommand [Parameters=["@p0='40515' (Nullable = true), @p1='22a98afd-57c9-4821-8027-db9a7d1098d0' (Nullable = true), @p2='2017-12-13T17:11:41.8202539+01:00' (Nullable = true), @p3='2018-06-13T16:11:57.3627370+00:00', @p4='11' (Nullable = true), @p5='0' (Nullable = true), @p6='Teacher Tech' (Nullable = false) (Size = 1000), @p7='3' (Nullable = true), @p8='True' (Nullable = true), @p9='7f72ce12-7c3a-449e-b456-97db816dd7e6' (Nullable = true), @p10='11.0.40515.3' (Size = 50), @p11='False' (Nullable = true), @p12='False' (Nullable = true), @p13='bridge 2015-12-09_15-29 97f149c' …Run Code Online (Sandbox Code Playgroud) sql-server deadlock transactions sql-insert entity-framework-core
sql-insert ×10
sql ×8
sql-server ×4
mysql ×3
bulkinsert ×1
deadlock ×1
oracle ×1
oracle10g ×1
performance ×1
postgresql ×1
rdbms ×1
sql-view ×1
sqlmap ×1
stacked ×1
transactions ×1
triggers ×1