我想弄清楚如何将相同的值插入表的整个列?该表已经存在,我有一个空列,我想插入一个特定的值,例如今天的日期.我只找到了解释如何将值插入整行的资源.
我试图插入以下值
('PA', 'Hilda Blainwood', 3, 10.7, 4308.20, '9/8/1974', '9:00', '07/03/1996 10:30:00');
Run Code Online (Sandbox Code Playgroud)
具有以下结构的表alltypes
create table alltypes( state CHAR(2), name CHAR(30), children INTEGER, distance FLOAT,
budget NUMERIC(16,2), checkin TIME, started TIMESTAMP);
Run Code Online (Sandbox Code Playgroud)
弹出以下错误
test=# insert into alltypes VALUES('PA', 'Hilda Blainwood', 3, 10.7, 4308.20, '9/8/1974',
'9:00', '07/03/1996 10:30:00');
ERROR: INSERT has more expressions than target columns
LINE 1: ...Blainwood', 3, 10.7, 4308.20, '9/8/1974', '9:00', '07/03/199...
Run Code Online (Sandbox Code Playgroud) 我在制作一个简单的表单以将数据插入MySQL表时遇到了一些麻烦.我一直收到这个SQL错误:
"错误:您的SQL语法中有错误;请查看与您的MySQL服务器版本对应的手册,以便在'stock('ItemNumber','Stock')附近使用正确的语法VALUES('#4','3' ')'在第1行"
我的表格HTML是:
<form action="database.php" method="post">
Item Number: <input type="text" name="ItemNumber">
Stock: <input type="text" name="Stock">
<input type="submit">
</form>
Run Code Online (Sandbox Code Playgroud)
而PHP是:
<?php
$con=mysqli_connect("localhost","root","root","inventory");
if (mysqli_connect_errno($con))
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql = "INSERT INTO current stock ('ItemNumber', 'Stock')
VALUES
('$_POST[ItemNumber]','$_POST[Stock]'')";
if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}
echo "1 record added";
mysqli_close($con);
?>
Run Code Online (Sandbox Code Playgroud) 在 Delphi 中,每当我使用 TQuery 对数据库执行 SELECT 时,我都会在 Query.Open 后面加上 try..finally,并在 finally 部分中使用 Query.Close。这对我来说很有意义,因为否则查询仍然会不必要地存储数据(使用内存)。
但我的问题与当我使用查询执行 INSERT 或 DELETE 时有关,因此需要使用 Query.ExecSQL 执行 SQL 我的问题是,我必须在 Query.ExecSQL 之后使用 Query.Close 吗?
我的想法是,因为这是在数据库上执行的命令,大概不会向查询返回任何数据,所以不需要执行 Query.Close 但也许有人对什么有更深入的了解,如果有的话,可能会在调用 Query.ExecSQL 后返回并存储在查询中,对此 Query.Close 会有好处吗?
谢谢。
根据文档,字符串变量或VARCHAR指定的字符串应该被截断:
如果显式地将值转换为字符变量(n)或字符(n),则超长值将被截断为n个字符而不会引发错误.(这也是SQL标准所要求的.)
但我无法让它发挥作用.现在文档确实说必须"明确地"将值赋予字符变化,所以也许我错过了.下面是一个简单的测试表:
create table test1(
tval character varying(20));
Run Code Online (Sandbox Code Playgroud)
其中以下内容因ERROR而失败:类型字符变化的值太长(20)
insert into test1 values
('this is a super long string that we want to see if it is really truncated');
Run Code Online (Sandbox Code Playgroud)
我怎样才能让它发挥作用?
当您有标识列时,如何在 Oracle 12c 中使用 SQL 进行多次插入?
INSERT ALL
INTO Table1 (Column2) Values (1)
INTO Table1 (Column2) Values (2)
SELECT * FROM dual;
Run Code Online (Sandbox Code Playgroud)
其中 Table1 将 column1 作为标识,将标识列设置为具有违反主键约束的相同值。
CREATE TABLE Table1 (
Table1Id NUMBER GENERATED ALWAYS AS IDENTITY,
column2 VARCHAR2(255),
column3 NUMBER,
PRIMARY KEY (Table1Id)
);
INSERT ALL
INTO Table1 (column2, column3) VALUES ('a', '1')
INTO Table1 (column2, column3) VALUES ('b', '2')
SELECT * FROM dual;
--SQL Error: ORA-00001: unique constraint violated
Run Code Online (Sandbox Code Playgroud)
我做错了什么?
我正在使用plsql过程,我正在使用insert-select语句.我需要以有序的方式插入表中.但我在select sql中使用的顺序不起作用.
在oracle中是否有任何特定的方式以有序的方式插入行?
实际上我想在表格中插入多行.表的结构是
Create Table tbl_username
(id int autoincrement,
username varchar(100),
Primary key(id))
Run Code Online (Sandbox Code Playgroud)
我试图插入多行像
Declare @s as varchar(100)
set @s='(''name1''),(''name2'')'
insert into tbl_username(username)values @s;
Run Code Online (Sandbox Code Playgroud)
但我把输出作为
id username
1 (''name1''),(''name2'')
Run Code Online (Sandbox Code Playgroud)
实际上我需要的输出是
id username
1 name1
2 name2
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
我正在尝试使用dataframe.to_sql函数将pandas dataframe df插入SQL Server DB。但我得到以下错误:
源代码:
import pyodbc
import sqlalchemy
import urllib
df #sample dataframe
params = urllib.parse.quote_plus("DRIVER={SQL Server};SERVER=GIRSQL.GIRCAPITAL.com;DATABASE=Tableau;UID=SQL_User;PWD=pass")
engine = sqlalchemy.create_engine("mssql+pyodbc:///?odbc_connect=%s" % params)
engine.connect()
df.to_sql(name='[Tableau].[dbo].[Test table]',con=engine, index=False,
if_exists='append')
Run Code Online (Sandbox Code Playgroud)
错误:
do_execute cursor.execute(语句,参数)中的文件“ C:\ Users \ Arvinth \ sqlalchemy \ engine \ default.py”,行470
sqlalchemy.exc.ProgrammingError:(pyodbc.ProgrammingError)('42000',“ [42000] [Microsoft] [ODBC SQL Server驱动程序] [SQL Server]'INTEGER'附近的语法不正确。(102)(SQLExecDirectW)”)[SQL :'\ n创建表[[Tableau]。[dbo]。[测试表]]](\ n \ t [A] INTEGER NULL,\ n \ t [B] INTEGER NULL,\ n \ t [C] INTEGER NULL \ n)\ n \ n']
样本数据框:
A B C
0 …Run Code Online (Sandbox Code Playgroud) 我有很多包含单引号的字符串值,我需要将其插入REDSHIFT表中的列.我使用了两个/'并''在INSERT语句中转义单引号.
例如
INSERT INTO table_Temp
VALUES ('1234', 'O\'Niel'), ('3456', 'O\'Brien')
Run Code Online (Sandbox Code Playgroud)
我也使用''而不是'但它一直给我错误"VALUES列表必须具有相同的长度",即没有:每个记录的参数> 2.
你能告诉我们如何解决这个问题吗?
sql-insert ×10
sql ×5
postgresql ×3
oracle ×2
sql-server ×2
create-table ×1
delphi ×1
escaping ×1
mysql ×1
oracle12c ×1
pandas ×1
php ×1
python ×1
sql-order-by ×1
sql-update ×1
syntax-error ×1
tquery ×1