我正在创建一个总共有五列的表。在主要的“创建”过程中,我只有足够的数据来填充其中的四列。稍后在程序执行中,我有第五列的数据。我开始执行“插入或替换”。但!我只在语句中使用了键列和第五列。
当我浏览数据库时,第二列到第四列是 NULL。所以,问题是:有没有办法只更新特定列(包括键),同时保持现有数据完好无损?
我正在创建一个总共有五列的表。在主要的“创建”过程中,我只有足够的数据来填充其中的四列。稍后在程序执行中,我有第五列的数据。我开始执行“插入或替换”。但!我只在语句中使用了键列和第五列。
当我浏览数据库时,第二列到第四列是 NULL。所以,问题是:有没有办法只更新特定列(包括键),同时保持现有数据完好无损?
正如您所发现的,INSERT OR REPLACE 是错误的语句。除非您可以为所有列提供正确的值,否则 UPDATE 语句是更好的选择。只需更新列。
update your_table_name
set your_column_name = 'New Value'
where your_key_column = 'Something';
在许多应用中,需要更加谨慎。
update your_table_name
set your_column_name = 'New Value'
where your_key_column = 'Something'
and your_column_name is null;