我尝试了以下脚本来向我的列添加一个not null约束。
ALTER TABLE MYDB.RULES ALTER TYPEID SET NOT NULL;
ALTER TABLE MYDB.RULES ALTER COLUMN TYPEID SET NOT NULL;
当我执行它的时候,我也得到了这个错误:
Reason code 10. [SQL State=57014, DB Errorcode=-952]
在DB2 iSeries中可以做到这一点吗?
我已经编写了自己的脚本来生成还原SQL文件,首先要执行的任务之一是删除应该存在的所有约束。(别担心,我的脚本只限于备份时存在的脚本。)
下面是一个通用代码片段
ALTER TABLE ONLY data DROP CONSTRAINT IF EXISTS data_pkey;
在我自己的开发环境上测试它,它按预期工作。但是,在生产服务器上运行相同代码会引发错误:
ERROR: syntax error at or near "EXISTS"
LINE 1: ALTER TABLE ONLY data DROP CONSTRAINT IF EXISTS data_pkey;
如
现在我正在尝试更改utf8中的整个数据库,我已经编写了一个脚本来更改utf8中的所有表,如下所示:
ALTER TABLE `mytable` CHARACTER SET utf8;
所有列都是这样的:
ALTER TABLE `mytable` CHANGE `mycolumn` `mycolumn` varchar(200) CHARACTER SET utf8;
Error on rename of './test/#sql-5028_217b96' to './test/mytable' (errno: 150)
有人知道怎么解决这个问题吗?
我想编写一个SQL2005脚本来创建一个使用Windows身份验证的新登录名。Windows用户是本地帐户(非域帐户)。多台SQL Server计算机上存在同名的本地帐户,我希望在所有这些计算机上运行相同的脚本。
这看起来很简单:
CREATE LOGIN [MyUser]
FROM WINDOWS
然而,这并不起作用!SQL返回一个错误,显示为Give the complete name: <domain\username>.
当然,我可以在一台机器上这样做,它可以工作,但是相同的脚本不能在其他机器上工作。
如何编写以下SQL查询的Elastic Search Alternative
select
column1,
column2,
column3,
count(column3)
from
table_name
where
some conditions
group by
column1,
column2,
column3
order by
column 3 desc;
我尝试了很多方法,通过方面,和聚合,等等,无法组合查询。我原以为可以用脚本来做同样的事情,但我不知道该怎么做?
请您指导我如何编写上面的SQL选项
我喜欢外键,但我遇到了一个问题。我有一个转换程序,在这个程序中我禁用了表的外键。我这样做的原因是,我可以重新转换主表中的所有记录,但保留依赖于该表的其他表不变,而不必每次都重新转换它们,因为它们很大。
我使用这些命令来禁用和重新启用外键:
ALTER TABLE MyTable NOCHECK CONSTRAINT MyConstraint
ALTER TABLE MyTable CHECK CONSTRAINT MyConstraint
但是,在我重新启用约束后,"Check Existing Data on Creation or Re-Enabling“仍然设置为No。我知道它
我有一个SQL脚本要多次执行(必须是可重入的)。
其中一个脚本行是
alter table MATABLE modify (MADATA null);
当有效删除表MATABLE的MADATA列的“not null”约束时,此命令工作良好。但是第二次,我得到了一个错误,例如:
Erreur SQL : ORA-01451: colonne à modifier en non renseignée (NULL) ne peut être passée à NULL
01451. 00000 - "column to be modified to NULL cannot be modif
我目前正在编写一个SQL脚本来更新我们的数据库,为此,我需要一个脚本来删除依赖于特定列的索引(因为我还想删除该列)。
在我的脚本中,通过对已知索引使用以下SQL (在通过ALTER删除列之前),我使用了正常的方法。
IF EXISTS(SELECT * FROM sys.indexes WHERE name = '{IndexName}' AND object_id = OBJECT_ID('{TableName}'))
BEGIN
DROP INDEX {Table}.{Index};
END
但是在我们软件的某些系统中,我不能使用这种方法,因为有些索
我维护了一个安装在多个位置的产品,这些位置被随意升级。向许多表添加了唯一约束,但我不知道在任何特定实例中的名称是什么。我所知道的是具有唯一约束的表/列名对,我想编写一个脚本来删除这些列/表组合上的任何唯一约束。
这是SQL Server 2000和更高版本。最好是能在2000/2005/2008上工作的东西!
我有一个数据库和一个Sql脚本来添加一些字段到数据库中名为"Products“的表中。
但是当我执行这个脚本时,我得到了以下错误:
Cannot find the object "Products" because it does not exist or you do not have permissions
为什么会出现这个错误?我应该如何解决它?
我有一个数据库,它在一个字段上有一个非空约束,我想删除这个约束。复杂的因素是该约束具有系统定义的名称,并且该约束的名称在生产服务器、集成服务器和各种开发人员数据库之间是不同的。我们当前的流程是签入更改脚本,自动任务通过sqlplus对目标数据库执行适当的查询,所以我更喜欢直接发送到sqlplus的解决方案。
在我自己的数据库上,要删除它的SQL是:
alter table MYTABLE drop constraint SYS_C0044566
当我查询all_constraints视图时,我可以看到约束:
select * from all_constraints where table_n
我运行以下代码:
-- Table describing messages
CREATE TABLE messages
(
id serial PRIMARY KEY NOT NULL,
text TEXT -- Message can have or not have text
);
-- Table describing media attached to messages
CREATE TABLE messages_attachments
(
message_id integer NOT NULL REFERENCES messages,
-- Messages can ha
我需要编写一个php脚本来处理MySql数据库中的表。我知道表名,我需要知道这个子表中的外域名父表。如何使用SQL查询完成此操作?
更新
SELECT referenced_table_name, referenced_column_name
FROM information_schema.key_column_usage
WHERE table_name = '[child_table_name]'
AND column_name = '[foreign_key_field_name]'
我需要写一个SQL脚本来更新基于另一列的道布列,其中有12位数字,前6位是道布。
Name DOB Identification Number
Peter 1987-01-12 870112-01-0120
John 900921-10-5510
Alex 670302-04-6658
让我们来看上面的例子,Peter的识别号是870112-01-0120,如前所述,他的识别号的前6位(YYMMDD)是他的道布。因此,彼得的道布是1987-01-12。
有没有人知道如何写一个SQL脚本来更新基于标