Questions tagged «sql-insert»

SQL INSERT语句允许您在表中插入单行或多行。

10
如何在MySQL中“插入不存在”?
我从谷歌搜索开始,发现这篇文章讨论了互斥表。 我有一张约有1400万条记录的表。如果我想以相同的格式添加更多数据,是否有一种方法可以确保我要插入的记录在不使用一对查询的情况下就不存在(即,一个查询要检查,一个查询要插入的结果集是空)? 如果unique字段上存在约束,是否可以保证该约束insert将失败? 似乎只有一个约束,当我通过php发出插入命令时,脚本就发出了嘶哑的声音。

17
Postgres:如果尚不存在,请插入
我正在使用Python写入postgres数据库: sql_string = "INSERT INTO hundred (name,name_slug,status) VALUES (" sql_string += hundred + ", '" + hundred_slug + "', " + status + ");" cursor.execute(sql_string) 但是由于我的某些行是相同的,因此出现以下错误: psycopg2.IntegrityError: duplicate key value violates unique constraint "hundred_pkey" 如何编写“除非此行已存在,否则请插入” SQL语句? 我看过这样的复杂语句: IF EXISTS (SELECT * FROM invoices WHERE invoiceid = '12345') UPDATE invoices SET …

5
在mysql中插入多行
这个问题的答案是社区的努力。编辑现有答案以改善此职位。它目前不接受新的答案或互动。 如果一次插入多行,数据库查询会更快吗: 喜欢 INSERT.... UNION INSERT.... UNION (我需要插入2-3000行)
349 mysql  sql-insert 


9
在Oracle中进行多行插入的最佳方法?
我正在寻找一种在Oracle 9数据库中执行多行插入的好方法。以下内容在MySQL中有效,但Oracle似乎不支持。 INSERT INTO TMP_DIM_EXCH_RT (EXCH_WH_KEY, EXCH_NAT_KEY, EXCH_DATE, EXCH_RATE, FROM_CURCY_CD, TO_CURCY_CD, EXCH_EFF_DATE, EXCH_EFF_END_DATE, EXCH_LAST_UPDATED_DATE) VALUES (1, 1, '28-AUG-2008', 109.49, 'USD', 'JPY', '28-AUG-2008', '28-AUG-2008', '28-AUG-2008'), (2, 1, '28-AUG-2008', .54, 'USD', 'GBP', '28-AUG-2008', '28-AUG-2008', '28-AUG-2008'), (3, 1, '28-AUG-2008', 1.05, 'USD', 'CAD', '28-AUG-2008', '28-AUG-2008', '28-AUG-2008'), (4, 1, '28-AUG-2008', .68, 'USD', 'EUR', '28-AUG-2008', '28-AUG-2008', …

7
如何加快PostgreSQL中的插入性能
我正在测试Postgres插入性能。我有一张表,其中一列以数字作为其数据类型。也有一个索引。我使用以下查询填充数据库: insert into aNumber (id) values (564),(43536),(34560) ... 通过上面的查询,我一次非常快地一次插入了400万行10,000。数据库达到600万行后,性能每15分钟急剧下降到100万行。有什么技巧可以提高插入性能?我需要此项目的最佳插入性能。 在具有5 GB RAM的计算机上使用Windows 7 Pro。

4
SQLite中的“如果不存在则插入”语句
我有一个SQLite数据库。我试图在表中插入值(users_id,lessoninfo_id)bookmarks,前提是两个值都不连续存在。 INSERT INTO bookmarks(users_id,lessoninfo_id) VALUES( (SELECT _id FROM Users WHERE User='"+$('#user_lesson').html()+"'), (SELECT _id FROM lessoninfo WHERE Lesson="+lesson_no+" AND cast(starttime AS int)="+Math.floor(result_set.rows.item(markerCount-1).starttime)+") WHERE NOT EXISTS ( SELECT users_id,lessoninfo_id from bookmarks WHERE users_id=(SELECT _id FROM Users WHERE User='"+$('#user_lesson').html()+"') AND lessoninfo_id=( SELECT _id FROM lessoninfo WHERE Lesson="+lesson_no+"))) 这给出了一个错误说: db错误在哪里语法附近。

8
在SQL Server中避免在INSERT INTO SELECT查询中重复
我有以下两个表: Table1 ---------- ID Name 1 A 2 B 3 C Table2 ---------- ID Name 1 Z 我需要从数据插入Table1到Table2。我可以使用以下语法: INSERT INTO Table2(Id, Name) SELECT Id, Name FROM Table1 但是,在我的情况下,可能存在重复的ID Table2(在我的情况下,它只是“ 1”),我不想再次复制该ID ,因为这会引发错误。 我可以这样写: IF NOT EXISTS(SELECT 1 FROM Table2 WHERE Id=1) INSERT INTO Table2 (Id, name) SELECT Id, name FROM Table1 …

9
如何使用PDO插入NULL值?
我正在使用此代码,但我感到无奈: try { $dbh = new PDO('mysql:dbname=' . DB . ';host=' . HOST, USER, PASS); $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $dbh->setAttribute(PDO::MYSQL_ATTR_INIT_COMMAND, "SET NAMES 'utf8'"); } catch(PDOException $e) { ... } $stmt = $dbh->prepare('INSERT INTO table(v1, v2, ...) VALUES(:v1, :v2, ...)'); $stmt->bindParam(':v1', PDO::PARAM_NULL); // --> Here's the problem PDO::PARAM_NULL, null, '', 它们全部失败并抛出此错误: 致命错误:无法在/ opt …
105 php  mysql  pdo  null  sql-insert 

15
使用php将时间戳保存在mysql表中
我在具有timestamp数据类型的MySQL表中有一个字段。我正在将数据保存到该表中。但是,当我将时间戳(1299762201428)传递给记录时,它将自动将值保存0000-00-00 00:00:00到该表中。 如何在MySQL表中存储时间戳? 这是我的INSERT声明: INSERT INTO table_name (id,d_id,l_id,connection,s_time,upload_items_count,download_items_count,t_time,status) VALUES (1,5,9,'2',1299762201428,5,10,20,'1'), (2,5,9,'2',1299762201428,5,10,20,'1')

9
MySQL和PHP-插入NULL而不是空字符串
我有一个MySQL语句,该语句将一些变量插入数据库中。我最近添加了两个可选字段($ intLat,$ intLng)。现在,如果未输入这些值,我将传递一个空字符串作为值。如何将明确的NULL值传递给MySQL(如果为空)? $query = "INSERT INTO data (notes, id, filesUploaded, lat, lng, intLat, intLng) VALUES ('$notes', '$id', TRIM('$imageUploaded'), '$lat', '$long', '$intLat', '$intLng')"; mysql_query($query);
85 php  mysql  null  sql-insert 

4
使用Postgres一次将数据插入3个表中
我想通过一个查询将数据插入3个表中。 我的表格如下所示: CREATE TABLE sample ( id bigserial PRIMARY KEY, lastname varchar(20), firstname varchar(20) ); CREATE TABLE sample1( user_id bigserial PRIMARY KEY, sample_id bigint REFERENCES sample, adddetails varchar(20) ); CREATE TABLE sample2( id bigserial PRIMARY KEY, user_id bigint REFERENCES sample1, value varchar(10) ); 每次插入我都会得到一个密钥作为回报,我需要将该密钥插入下表。 我的查询是: insert into sample(firstname,lastname) values('fai55','shaggk') RETURNING …

15
在SQL中,UPDATE是否总是比DELETE + INSERT快?
假设我有一个包含以下字段的简单表: ID:int,自动递增(身份),主键 名称:varchar(50),唯一,具有唯一索引 标签:int 我从不使用ID字段进行查找,因为我的应用程序始终基于使用Name字段。 我需要不时更改Tag值。我正在使用以下简单的SQL代码: UPDATE Table SET Tag = XX WHERE Name = YY; 我想知道是否有人知道以上方法是否总是比以下方法快? DELETE FROM Table WHERE Name = YY; INSERT INTO Table (Name, Tag) VALUES (YY, XX); 再说一遍-我知道在第二个示例中ID已更改,但对我的应用程序来说并不重要。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.