我尝试更新表格如下:
update userloginstats set logouttime = sysdate where logouttime = null;
Run Code Online (Sandbox Code Playgroud)
它没有使用空值更新列.什么地方出了错?
我想将val1表table1中一列val2的所有值复制到另一个表的一列table2.我在PostgreSQL中尝试过这个命令:
update table2
set val2 = (select val1 from table1)
Run Code Online (Sandbox Code Playgroud)
但我得到了这个错误:
错误:用作表达式的子查询返回的多行
有没有替代方法呢?
我为一个名为'grade'的列写了以下约束:
CONSTRAINT gradeRule CHECK grade IN (‘easy’, ‘moderate’, ‘difficult’),
Run Code Online (Sandbox Code Playgroud)
是否有可能在以后更新gradeRule以具有不同的值?例如,'中等'和'困难'可以改为'中'和'硬'.
谢谢
当我想update在我的桌子上执行查询时,我得到一个错误说:
1036 - 表格
data是只读的.
我该如何解决这个问题?
表属性/var/db/mysql设置为777.
'修复表'功能似乎没有帮助.
有什么我可以做的吗?
我是触发器的新手,想要在更新列时创建触发器并使用该值更新另一个表.
我有一个带有年份列的table1,如果应用程序更新该年份列,我需要在同一年更新表2.
ALTER TRIGGER [dbo].[trig_UpdateAnnualYear]
ON [dbo].[table1]
AFTER UPDATE
AS
if (UPDATE (intAnnualYear))
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for trigger here
Update table2 set AnnualYear = intAnnualYear where table2.ID = table1.ID
END
Run Code Online (Sandbox Code Playgroud) 我犯了一个大错误,我在MySQL中没有'where'子句更新了一个表:'(
它是自动提交的.
有没有办法从它回滚?
任何人都可以在此查询中找到我的错误?我正在使用SQL Server 2000,我想将CostEntry表中的所有条目更新为ActiveCostDetails表中的相应值.where子句可以使用select语句.
UPDATE CostEntry CE
INNER JOIN ActiveCostDetails As AD ON CostEntry.lUniqueID = ActiveCostDetails.UniqueID
SET CostEntry.sJobNumber = ActiveCostDetails.JobNumber
WHERE CostEntry.SEmployeeCode = '002'
AND SubString(CostCentre, 1, 1) = sDepartmentCode
AND substring(CostCentre, 3, 1) = sCategoryCode
AND substring(CostCentre, 5, 2) = sOperationCode
Run Code Online (Sandbox Code Playgroud) 如何更正此问题以便我的MySQL代码正常工作.
这是我的MySQL代码,它给了我这个问题.
$q = "UPDATE users INNER JOIN contact_info ON contact_info.user_id = users.user_id SET active.users = NULL WHERE (email.contact_info = '" . mysqli_real_escape_string($mysqli, $x) . "' AND active.users = '" . mysqli_real_escape_string($mysqli, $y) . "') LIMIT 1";
$r = mysqli_query ($mysqli, $q) or trigger_error("Query: $q\n<br />MySQL Error: " . mysqli_error($mysqli));
Run Code Online (Sandbox Code Playgroud) 我写了一个像SQL Server中的魅力一样的查询.不幸的是,它需要在Oracle数据库上运行.我一直在网上搜索有关如何转换它的解决方案,但没有任何成功:/
查询看起来像这样我的SQL:
UPDATE tab1 SET budgpost_gr1=
CASE WHEN (budgpost in (1001,1012,50055)) THEN 'BP_GR_A'
WHEN (budgpost in (5,10,98,0)) THEN 'BP_GR_B'
WHEN (budgpost in (11,876,7976,67465))
ELSE 'Missing' END`
Run Code Online (Sandbox Code Playgroud)
我的问题还在于,柱子budgetpost_gr1和预算邮件是字母数字,Oracle似乎希望将列表视为数字.该列表是预定义为逗号分隔列表的变量/参数,它们只是转储到查询中.
我有一个实体集国家,反映了数据库表'<'char(2),char(3),nvarchar(我的数据库中的50>).
我有一个解析器返回一个解析国家的Country []数组,并且正在以正确的方式更新它.我想要的是:采取一系列国家,对于那些尚未在数据库中插入它们的国家,以及那些现有的更新,如果任何字段不同.如何才能做到这一点?
void Method(object sender, DocumentLoadedEvent e)
{
var data = e.ParsedData as Country[];
using(var db = new DataContractEntities)
{
//Code missing
}
}
Run Code Online (Sandbox Code Playgroud)
我在想类似的东西
for(var c in data.Except(db.Countries)) but it wount work as it compares on wronge fields.
Run Code Online (Sandbox Code Playgroud)
希望以前有人遇到过这个问题,并为我提供解决方案.如果我不能使用Country对象并插入/更新它们的数组很容易,我不会看到使用框架的好处,因为从表演者我认为更快写一个自定义的sql脚本插入它们而不是ect检查一个国家插入前已经在数据库中?
我将override equals添加到我的国家/地区类:
public partial class Country
{
public override bool Equals(object obj)
{
if (obj is Country)
{
var country = obj as Country;
return this.CountryTreeLetter.Equals(country.CountryTreeLetter);
}
return false;
}
public override int GetHashCode()
{
int hash …Run Code Online (Sandbox Code Playgroud) sql-update ×10
sql ×7
mysql ×3
oracle ×2
autocommit ×1
constraints ×1
freebsd ×1
insert ×1
null ×1
postgresql ×1
rollback ×1
sql-server ×1
t-sql ×1
triggers ×1