Questions tagged «sql»

结构化查询语言(SQL)是用于查询数据库的语言。问题应包括代码示例,表结构,示例数据以及正在使用的DBMS实现的标签(例如MySQL,PostgreSQL,Oracle,MS SQL Server,IBM DB2等)。如果您的问题仅涉及特定的DBMS(使用特定的扩展名/功能),请改用该DBMS的标签。使用SQL标记的问题的答案应使用ISO / IEC标准SQL。

7
SQL Server中是否有LastIndexOf?
我试图分析出从涉及获取一个字符串值最后一个 指标一个的字符串。目前,我正在做一个骇人的骇客工作,其中涉及反转字串: SELECT REVERSE(SUBSTRING(REVERSE(DB_NAME()), 1, CHARINDEX('_', REVERSE(DB_NAME()), 1) - 1)) 对我来说,这段代码几乎是不可读的。我刚刚升级到SQL Server 2016,希望有更好的方法。在那儿?

3
使用INSERT INTO插入多个值(SQL Server 2005)
在SQL Server 2005中,我试图弄清为什么我不能在表中插入多个字段。下面的查询插入一条记录,可以正常工作: INSERT INTO [MyDB].[dbo].[MyTable] ([FieldID] ,[Description]) VALUES (1000,N'test') 但是,以下指定多个值的查询失败: INSERT INTO [MyDB].[dbo].[MyTable] ([FieldID] ,[Description]) VALUES (1000,N'test'),(1001,N'test2') 我收到此消息: Msg 102, Level 15, State 1, Line 5 Incorrect syntax near ','. 当我在SQL Sever Management Studio中查找INSERT的帮助时,其中一个示例显示了使用的“值”语法(括号内是值组,并用逗号分隔)。我在SQL Server Management Studio中找到的帮助文档看起来像是针对SQL Server 2008的,所以这也许就是插入无法正常工作的原因。无论哪种方式,我都无法弄清楚为什么它不起作用。

3
带有参数的Android Room @Delete
我知道我不能DELETE在查询中使用(顺便说一句很遗憾),我会收到以下错误: <i>Error:error: Observable query return type (LiveData, Flowable etc) can only be used with SELECT queries that directly or indirectly (via @Relation, for example) access at least one table.</i> 但是我不能使用@Delete(WHERE... xxx) 那么,如何通过参数删除特定行?

8
SQL Server JOIN缺少NULL值
假设我有以下两个表: Table1: Table2: Col1: Col2: Col3: Col1: Col2: Col4: a b c a b d e <null> f e <null> g h i j h i k l <null> m l <null> n o <null> p o <null> q 现在,我想加入这些表Col1,Col2然后将整个集合恢复为: Result: Col1: Col2: Col3: Col4: a b c d e …
75 sql  sql-server 

5
如何使用Powershell执行.sql文件?
我有一个 。sql文件。我正在尝试通过Powershell脚本传递连接字符串详细信息并调用.sql文件。 我正在搜寻,并想出一个与相关的cmdlet Invoke-sqlcmd。在尝试查找与SQL相对应的模块时,我的计算机中未找到任何模块。 我是否应该在计算机上安装任何东西(该计算机已经具有SQL Server Management Studio 2008 R2)来获取模块,或者是否有任何简单的方法可以.sql使用Powershell执行文件?




25
Mysql 1050错误“表已存在”实际上不存在
我要添加此表: CREATE TABLE contenttype ( contenttypeid INT UNSIGNED NOT NULL AUTO_INCREMENT, class VARBINARY(50) NOT NULL, packageid INT UNSIGNED NOT NULL, canplace ENUM('0','1') NOT NULL DEFAULT '0', cansearch ENUM('0','1') NOT NULL DEFAULT '0', cantag ENUM('0','1') DEFAULT '0', canattach ENUM('0','1') DEFAULT '0', isaggregator ENUM('0', '1') NOT NULL DEFAULT '0', PRIMARY KEY (contenttypeid), …

3
原则2:使用查询生成器更新查询
嗨,我有以下查询,但似乎无法正常工作。 $q = $this->em->createQueryBuilder() ->update('models\User', 'u') ->set('u.username', $username) ->set('u.email', $email) ->where('u.id = ?1') ->setParameter(1, $editId) ->getQuery(); $p = $q->execute(); 这将返回以下错误消息: 致命错误:未捕获的异常'Doctrine \ ORM \ Query \ QueryException',消息为[[语义错误]第0行,列38位于'testusername WHERE'附近:错误:'testusername'未定义。在... 我会很高兴的
74 php  sql  database  doctrine 

9
SQL按所有列分组
有没有办法在不指定列名的情况下对表的所有列进行分组?喜欢: select * from table group by *
74 sql 

17
在MySQL中删除后自动递增
我有一个带有主键字段且具有AUTO_INCREMENT的MySQL表。在阅读了这里的其他文章后,我发现人们遇到同样的问题,答案也各不相同。有些人建议不要使用此功能,其他人则说它不能被“修复”。 我有: table: course fields: courseID, courseName 示例:表中的记录数:18.如果删除记录16、17和18-我希望输入的下一条记录的courseID为16,但是由于最后输入的courseID为18,所以它将为19。 我的SQL知识并不奇怪,但是无论如何,是否可以通过查询(或phpMyAdmin界面中的设置)刷新或更新此计数? 该表将与数据库中的其他表相关。 有了所有建议,我决定忽略这个“问题”。我将简单地删除和添加记录,同时让自动增量完成它的工作。我猜数字到底有多大无关紧要,因为它仅用作唯一标识符,并且没有(如上所述)业务含义。 对于那些可能对我的原始帖子感到困惑的人:我不想使用此字段来知道我有多少条记录。我只是希望数据库看起来整洁,并具有更多的一致性。

18
关系数据库中的键值对
有人在数据库中存储键值对有经验吗? 我一直在使用这种类型的表: CREATE TABLE key_value_pairs ( itemid varchar(32) NOT NULL, itemkey varchar(32) NOT NULL, itemvalue varchar(32) NOT NULL, CONSTRAINT ct_primarykey PRIMARY KEY(itemid,itemkey) ) 然后,例如,可能存在以下行: itemid itemkey itemvalue ---------------- ------------- ------------ 123 Colour Red 123 Size Medium 123 Fabric Cotton 这种方案的问题在于提取数据所需的SQL语法非常复杂。仅创建一系列键/值列会更好吗? CREATE TABLE key_value_pairs ( itemid varchar(32) NOT NULL, itemkey1 varchar(32) …
74 sql  database 

4
是否总是首选varchar(MAX)?
关于SQL Server,我了解: var 表示内存是延迟分配的,这意味着它完全适合(插入时)数据。 MAX 表示没有大小限制\限制。 那么,在使用MAX时,是否总是最好使用varchar,因为我们无论如何都不分配整个大小? 我们是否应该仅在要在此数据库列上强制执行约束的情况下才使用恒定大小?
74 sql  sql-server  tsql 

5
将可空列更改为具有默认值的非空
今天,我遇到了一个旧表,其中有一个名为“ Created”的日期时间列,该列允许为空。现在,我想更改它,使其不是NOT NULL,并且还包含一个约束以添加默认值(getdate())。 到目前为止,我已经有了以下脚本,只要我事先清除了所有空值,该脚本就可以正常工作: ALTER TABLE dbo.MyTable ALTER COLUMN Created DATETIME NOT NULL 有没有办法在ALTER语句上也指定默认值?

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.