@Column(name="open")
Run Code Online (Sandbox Code Playgroud)
使用sqlserver方言与hibernate.
[SchemaUpdate] Unsuccessful: create table auth_session (id numeric(19,0) identity not null, active tinyint null, creation_date datetime not null, last_modified datetime not null, maxidle int null, maxlive int null, open tinyint null, sessionid varchar(255) not null, user_id numeric(19,0) not null, primary key (id), unique (sessionid))
[SchemaUpdate] Incorrect syntax near the keyword 'open'.
Run Code Online (Sandbox Code Playgroud)
我希望hibernate在创建表时使用带引号的标识符.
关于如何处理这个问题的任何想法...除了重命名字段?
我有一个名为'test'的表
它包含一个名为"AND"的列
为此,我使用以下查询
insert into test values ('a','abc');
insert into test values ('b','def');
Run Code Online (Sandbox Code Playgroud)
现在我想从'test'表中选择我的'AND'列
查询select AND from test;不起作用,因为AND是关键字
我试过了
select "AND" from test;
select 'AND' from test;
Run Code Online (Sandbox Code Playgroud)
两个查询都返回错误的结果,如下所示

如何选择"AND"栏?
如何在select语句中使用SQL保留关键字,如列名"desc"?
select "desc" from tablename
Run Code Online (Sandbox Code Playgroud) 我正在使用C#在WPF中创建一个应用程序,其中用户填充数据网格,然后将信息存储在名为smb1的DataTable中.以下代码适用于将数据插入SQL数据库,但是当我修改代码进行更新时,它不起作用.有谁知道如何修改我的代码以允许更新,因为在Visual Studio中运行我的应用程序时没有抛出任何错误.我必须补充说,无法在数据网格中编辑"设备"列,因此返回的数据与从数据库中获取的数据相同,以便更新的行将使用WHERE子句与SQL数据库中的设备行匹配.下面是原始插入代码以及我更新数据库的尝试.
插入代码
SqlConnection con = new SqlConnection(MyConnectionString);
string SqlCmdText = "Insert into SHIFTLOG Values(@EQUIPMENT,@BATCHNO,@PRODUCTNO,@STATUS,@DATE,@PERIOD,@MACHINE)";
SqlCommand sc = new SqlCommand(SqlCmdText, con);
con.Open();
foreach (DataRow row in smb1.Rows)
{
sc.Parameters.Clear();
sc.Parameters.AddWithValue("@EQUIPMENT", row["EQUIPMENT"]);
sc.Parameters.AddWithValue("@BATCHNO", row["BATCHNO"]);
sc.Parameters.AddWithValue("@PRODUCTNO", row["PRODUCTNO"]);
sc.Parameters.AddWithValue("@STATUS", row["STATUS"]);
sc.Parameters.AddWithValue("@DATE", DateTime.Now.ToString("yyyy-MM-dd"));
sc.Parameters.AddWithValue("@PERIOD", DateTime.Now.ToString("tt"));
sc.Parameters.AddWithValue("@MACHINE", "SMB1");
sc.ExecuteNonQuery();
}
con.Close();
Run Code Online (Sandbox Code Playgroud)
尝试更新代码
SqlConnection con = new SqlConnection(MyConnectionString);
string SqlCmdText = "UPDATE SHIFTLOG SET EQUIPMENT='@EQUIPMENT',BATCHNO='@BATCHNO',PRODUCTNO='@PRODUCTNO',STATUS='@STATUS',DATE='2013-09-12',PERIOD='@PERIOD',MACHINE='@MACHINE' WHERE EQUIPMENT='@EQUIPMENT'";
SqlCommand sc = new SqlCommand(SqlCmdText, con);
con.Open();
foreach (DataRow row in smb1.Rows)
{
sc.Parameters.Clear();
sc.Parameters.AddWithValue("@EQUIPMENT", row["EQUIPMENT"]);
sc.Parameters.AddWithValue("@BATCHNO", row["BATCHNO"]);
sc.Parameters.AddWithValue("@PRODUCTNO", …Run Code Online (Sandbox Code Playgroud) 我的 postgres 数据库的表中有字段“限制”。我运行 psql 并且我无法选择、更新、更改此字段,因为它是 postgresql 中的保留字。有没有办法管理这个领域?
serene-retreat::SILVER=> select limit from companies;
ERROR: syntax error at or near "limit"
LINE 1: select limit from companies;
Run Code Online (Sandbox Code Playgroud) 运用 SQL server 2008
列名是: file.retry
我想file.retry.在运行以下查询时删除列,获取异常
ALTER TABLE FILEQ DROP COLUMN file.retry
Msg 102, Level 15, State 1, Line 2
Incorrect syntax near '.'.
Run Code Online (Sandbox Code Playgroud)
如何解决这个问题.任何人都可以帮忙
嗨,我有一个名为"条件"的列名,我不知道这是一个SQL语句,但在我的phpmyadmin sql中它的颜色为粉红色.那么如何插入与SQL语句共享同一名称的列.我可以把它改成另一个变量,但这个想法让我很感兴趣.我试过这个:
但它仅适用于select语句.
那么有没有人知道如何使用插入,更新和删除来做到这一点?
谢谢