我在使用这个SQL Insert命令时遇到了困难.我已经写了其他插入命令,但是这个命令一直给我一个错误,上面写着"INSERT INTO语句中的语法错误".有人能帮我看看我错过了什么吗?
bool recordSaved;
// Opens a connection to the database
OleDbParameter param = new OleDbParameter();
OleDbConnection conn = new OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" + Path + "");
conn.Open();
OleDbCommand command = conn.CreateCommand();
string strSQL;
command.Parameters.Add(new OleDbParameter("@Password", Password));
command.Parameters.Add(new OleDbParameter("@FName", FName));
command.Parameters.Add(new OleDbParameter("@LName", LName));
command.Parameters.Add(new OleDbParameter("@Street", StreetAddress));
command.Parameters.Add(new OleDbParameter("@City", City));
command.Parameters.Add(new OleDbParameter("@State", State));
command.Parameters.Add(new OleDbParameter("@Zip", Zip));
command.Parameters.Add(new OleDbParameter("@Phone", PhoneNumber));
command.Parameters.Add(new OleDbParameter("@CCType", CCType));
command.Parameters.Add(new OleDbParameter("@CCNum", CCNumber));
// Inserts a new user record into the database
strSQL = "INSERT INTO tblUser (Password, FName, …Run Code Online (Sandbox Code Playgroud) 我需要帮助将table1中的一些选定列插入另一个table2(带有WHERE子句).我要插入的列在两个表中都是相同的.但是,每个表都有其他列不在另一个表中.例如,table2有一个名为'neighborhood'的列,它不在table1中.我想从table1中获取nid,ccn,reportdatetime,latitude,longitude,event_type并将其放在table2中,并且此新行的"邻域"列应为null.
这是我的MySQL:
INSERT INTO table2
SELECT nid, ccn, reportdatetime, latitude, longitude, event_type
FROM table1
WHERE nid=943662
Run Code Online (Sandbox Code Playgroud)
我收到这个错误:
#1136 - Column count doesn't match value count at row 1
Run Code Online (Sandbox Code Playgroud)
有关如何使其工作的任何建议?
我有一个带有两个表变量的存储过程(@temp和@ temp2).
如何从两个临时表中选择值(两个表变量都包含一行)并将它们全部插入一个表中?
我尝试了以下但这没有用,我得到的错误是SELECT和INSERT语句的数量不匹配.
DECLARE @temp AS TABLE
(
colA datetime,
colB nvarchar(1000),
colC varchar(50)
)
DECLARE @temp2 AS TABLE
(
colD int
)
Run Code Online (Sandbox Code Playgroud)
...
INSERT INTO MyTable
(
col1,
col2,
col3,
col4
)
SELECT colD FROM @temp2,
colA FROM @temp,
colB FROM @temp,
colC FROM @temp
Run Code Online (Sandbox Code Playgroud)
蒂姆,非常感谢你提供的任何帮助.
sql sql-server multiple-instances multiple-tables insert-into
我编写此代码以将数据插入到我的Microsoft Access数据库中但它失败并抛出此错误:
INSERT INTO语句中的语法错误.
这是我的代码:
// Open the connection to the database.
connection.Open();
OleDbCommand dbcmd = new OleDbCommand();
dbcmd.Connection = connection;
// Inserting Data.
dbcmd.CommandText = "insert into ConveyanceBill1 (empname, from) values('" + txtEmployee.Text + "','" + txtFrom.Text + "')";
dbcmd.ExecuteNonQuery();
MessageBox.Show("Sucessfully Added!", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
connection.Close();
Run Code Online (Sandbox Code Playgroud)
但如果我改变这一行:
// Inserting Data.
dbcmd.CommandText = "insert into ConveyanceBill1 (empname, from) values('" + txtEmployee.Text + "','" + txtFrom.Text + "')";
Run Code Online (Sandbox Code Playgroud)
到这条线:
// Inserting Data.
dbcmd.CommandText = "insert into ConveyanceBill1 (empname, designation) values('" + …Run Code Online (Sandbox Code Playgroud) 我正在读取具有5列的csv文件并推送到oracle表
我知道这方面有很多资源。但是即使如此,我仍无法找到解决问题的方法
读取CSV到python的代码:
import csv
reader = csv.reader(open("sample.csv","r"))
lines=[]
for line in reader:
lines.append(line)
print lines
Run Code Online (Sandbox Code Playgroud)
输出:
[['Firstname','LastName','email','Course_name','status'],['Kristina','Bohn','abc@123.com','Cnally管理中的二氧化碳分析指南病患者(CE)”,“注册”],[“佩吉”,“卢兹”,“ gef@123.com”,“在阿片类药物分娩期间监测EtCO2的指南(CE)”,“进行中”]]
将列表推送到Oracle表的代码:
import cx_Oracle
con = cx_Oracle.connect('username/password@tamans*****vd/Servicename')
ver=con.version.split(".")
print(ver)
cur=con.cursor()
cur.execute("INSERT INTO TEST_CSODUPLOAD ('FIRSTNAME','LASTNAME','EMAIL','COURSE_NAME','STATUS') VALUES(:1,:2,:3,:4,:5)",lines)
con.commit ()
cur.close()
Run Code Online (Sandbox Code Playgroud)
我收到错误消息:
DatabaseError:ORA-01484:数组只能绑定到PL / SQL语句
请帮我解决问题
我需要将一个表中的所有记录的计数写入另一个表中.我正在使用INSET INTO语句,看起来非常简单.访问返回我正在犯一个语法错误.这是我的查询:
INSERT INTO tblA (Field1)
VALUES (SELECT COUNT(tblB.ID) FROM tblB);
Run Code Online (Sandbox Code Playgroud)
这里有什么问题?访问文档说您可以提供查询作为VALUES的参数.它是Access不喜欢的聚合吗?
我正在尝试找出如何从临时表(temp)插入现有表(tbl01)中的临时表(temp)中。我希望这是有道理的。我基本上是在尝试使用自表的上一次更新以来发生的记录来更新表。到目前为止,这是我的代码:
insert into tbl01
(sale_store, sale_dt, sale_register, sale_trans)
select distinct
sale_store, sale_dt, sale_register, sale_trans
from temp
where NOT EXISTS (select * from tbl01)
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是它可以运行,但不会在表中放入任何新记录 -应该有很多新记录。我确定这是我所缺少的小而愚蠢的东西。我以这篇文章为指导:如何避免在SQL Server的INSERT INTO SELECT查询中重复?
先感谢您!
我正在编写一个函数,它将选择结果输出并将其汇总到一个新表中 - 因此我尝试使用 INTO 函数。但是,我的独立代码可以工作,但是一旦进入函数,我就会收到一条错误消息,指出新的 SELECT INTO 表不是已定义的变量(也许我遗漏了一些东西)。请看下面的代码:
CREATE OR REPLACE FUNCTION rev_1.calculate_costing_layer()
RETURNS trigger AS
$BODY$
BEGIN
-- This will create an intersection between pipelines and sum the cost to a new table for output
-- May need to create individual cost columns- Will also keep infrastructure costing seperated
--DROP table rev_1.costing_layer;
SELECT inyaninga_phases.geom, catchment_e_gravity_lines.name, SUM(catchment_e_gravity_lines.cost) AS gravity_sum
INTO rev_1.costing_layer
FROM rev_1.inyaninga_phases
ON ST_Intersects(catchment_e_gravity_lines.geom,inyaninga_phases.geom)
GROUP BY catchment_e_gravity_lines.name, inyaninga_phases.geom;
RETURN NEW;
END;
$BODY$
language plpgsql
Run Code Online (Sandbox Code Playgroud) 运行之后,我无法选择或删除表格.
我也没有得到回滚或错误
mytable:
cmid pk in not null
cmcid int null
cmctitle nvarchar(4000)
Run Code Online (Sandbox Code Playgroud)
查询:
begin transaction
INSERT INTO [mydatabasename].[dbo].[mytable]
(cmcid,cmctitle)
values(396,'*ADVANCED 2-D ART – Painting & Drawing'),
(397,'Advanced 3D Art'),
(398,'AP Studio Art')
(399,'Digital Art'),
(400,'Intro to Visual Art'),
(401,'Bible 9 - Scripture'),
(402,'Bible 10 - God & Christ'),
(403,'Bible 11 -Doctrine and World Religions'),
(404,'Bible 12 - Worldviews'),
(405,'Accounting'),
(406,'AP Macroeconomics'),
(407,'AP Microeconomics'),
(408,'Personal Finance'),
(409,'Introduction to Life Calling'),
(410,'*ACADEMIC SKILLS'),
(411,'*BASIC SKILLS TRAINING – Resource'),
(412,'Directed Studies'), …Run Code Online (Sandbox Code Playgroud) 如果我想做一些相对复杂的事情——通常由存储过程完成的事情。是否可以使用 a 使其自动VIEW?
我的具体情况:
我想要输出表 = 输入表 A + 一些行输入表 B。在存储过程中,我可以先复制表 A,然后再复制INSERT INTO它,但在视图中不允许这样做。
简化示例:
输入表为[test_album],输出表 = 输入表 + 歌手王子。
--create test data
IF OBJECT_ID('[dbo].[test_album]', 'U') IS NOT NULL
DROP TABLE [dbo].[test_album]
CREATE TABLE [test_album] (
id int not null identity(1, 1) primary key,
singer VARCHAR(50) NULL,
album_title VARCHAR(100) NULL
)
INSERT INTO [test_album] (singer, album_title)
VALUES ('Adale', '19'),
('Michael Jaskson', 'Thriller')
--this can be executed as sql code or in stored proc
SELECT * …Run Code Online (Sandbox Code Playgroud) 我之前已经问过这样的问题,我已经看过这些主题,但我的语法中似乎找不到错误 - 所以我转而发布自己的错误.
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INSERT_INTO users (uid,email,pass_hash,permissions,join_date) VALUES ('wright.ma' at line 1)
Run Code Online (Sandbox Code Playgroud)
我的代码如下,但其他一切似乎都有效,直到SQL,这对我来说是有效的.
$email = $_POST['email'];
$pass = $_POST['pass'];
$pass2 = $_POST['pass2'];
$uid = $_POST['uid'];
$join_date = date("Y-m-d H:i:s");
if ($_POST['permissions']) { $permissions = $_POST['permissions']; } else { $permissions = 0; }
if (!$email) {
header('HTTP/1.1 500 Internal Server Error');
header('Content-Type: application/json');
exit("Security Module Error - …Run Code Online (Sandbox Code Playgroud) 最近,我在插入某些字符串时遇到INSERT INTO无法正常工作的问题.我发现原因是包含撇号的字符串,这些撇号会弄乱我的代码.要解决这个问题,我一直在尝试使用mysql_real_escape_string(),但它不会做任何事情.我读到它应该在每个"危险"的特殊字符之前插入\,但是当我回显时mysql_real_escape_string()它的结果显示我前后相同的字符串,没有\ s.我该如何解决?这是我的代码......
<?php
include "connect.php"; //connect.php connects to the database.
mysql_real_escape_string($_POST['username']);
mysql_real_escape_string($_POST['password']);
mysql_real_escape_string($_POST['sdNamer']);
mysql_real_escape_string($_POST['sdTrunk']);
//$_POST['username'] and the rest is the data entered by the user.
$username = $_POST['username'];
$password = $_POST['password'];
$sdName = $_POST['sdNamer'];
$sdTrunkest = $_POST['sdTrunk'];
$sql = "INSERT INTO users (username, password, user_bio, starterDeck, Trunk) VALUES ('$username', '$password', 'User', '$sdName', '$sdTrunkest')";
//INSERT INTO won't work, because $sdTrunkest has string that contains an apostrophe, and mysql_real_escape_string isn't doing anything about it.
mysql_query($sql);
exit("result_message=Success");
?>
Run Code Online (Sandbox Code Playgroud) 我是PHP的新手,但通常能够解决大多数问题,但这个问题让我感到困惑.
我正在尝试使用单个提交按钮创建简报注册(单个字段).我有这个工作正常,发送电子邮件并将表单数据插入我的表.但是,我想添加功能,以便向注册的人发送确认电子邮件.我做了大量的研究,我知道这背后的方法,但我的代码只是没有将数据输入到用于存储确认信息的第二个表中.
我有2个表:名为'newsletter'列的表1是:
idmail,emailaddress,datetime,state
Run Code Online (Sandbox Code Playgroud)
idmail 被设置为 AUTO_INCREMENT
表2名为'confirm'的列是:
idconfirm,emailaddress,confirmkey
Run Code Online (Sandbox Code Playgroud)
这是我的代码(我省略了之后的电子邮件部分,因为所有工作都正常):
//connect to database
include('admin/connection.php');
$email = mysqli_real_escape_string($dbc, $_POST['email']);
//check if value exists in table
$result = mysqli_query($dbc, "SELECT emailaddress FROM newsletter WHERE emailaddress = '$email'");
if (mysqli_num_rows($result)==0) {
//Insert value into database
$query1 = mysqli_query($dbc, "INSERT INTO newsletter(emailaddress, datetime, state) VALUES('$email','$now','0')");
mysqli_query($dbc, $query1);
// Get ID of last record
$id = mysqli_insert_id($dbc);
//Create a random key
$hash = $email.date('mY');
$hash = md5($hash);
//Insert value into database
$query2 = mysqli_query($dbc, "INSERT …Run Code Online (Sandbox Code Playgroud) insert-into ×13
sql ×6
insert ×3
mysql ×3
php ×3
sql-server ×3
c# ×2
ms-access ×2
corruption ×1
create-table ×1
csv ×1
cx-oracle ×1
flash ×1
oledb ×1
oracle ×1
postgis ×1
postgresql ×1
python ×1
select ×1
sql-insert ×1
t-sql ×1
teradata ×1
view ×1