1、首先在sqlite数据库上测试,创建一个空的表,不设置默认值CREATE TABLE test (ID text primary key, VAL varchar(260));
2、插入5条测试数据,第二个字段为空的,如下图所示insert INTO test(ID) value(1);insert INTO test(ID) value(2);insert INTO test(ID) value(3);insert INTO test(ID) value(4);insert INTO test(ID) value(5);
3、将第二个字段为空的行,全部设置为'123',可以看到插入成功了update test set VAL='123' where VAL IS NULL;同理如果判断不为空使用 VAL NOT NULL
4、接下在在mysql上测试,同样创建一个测试表CREATE TABLE test (ID text primary key, VAL varchar(260));
5、同样插入5条测试数据,第二个字段为空的,如下图所示insert INTO test(ID) value(1);insert INTO test(ID) value(2);insert INTO test(ID) value(3);insert INTO test(ID) value(4);insert INTO test(ID) value(5);
6、将第二个字段为空的全部更新为指定的字符串,唯一不同的是要关闭安全更新模式才可以执行这种不加主键的sql操作SET SQL_SAFE_UPDATES = 0;update test set VAL='12000000000000000003' where VAL IS NULL;SELECT * FROM test;