如何在不创建新行的情况下插入空字段?
如果我理解:
我无法将insert
用于where
子句:
INSERT INTO consulta (tema)
value('prova')
WHERE client=1;
我可update
使用where
,但如果字段为空,我就无法这样做:
UPDATE consulta
SET tema=prova
WHERE client=1;
那么我应该如何在现有行中插入?
答案 0 :(得分:1)
你想要其中一个吗?
UPDATE consulta
SET tema=prova
WHERE client is null;
或
UPDATE consulta
SET tema=prova
WHERE client = '';
"空"在SQL中没有技术含义,所以它可以是。
答案 1 :(得分:1)
我认为问题可能是你错过了你试图设置的值的引号。
尝试:
UPDATE consulta
SET tema='prova'
WHERE client=1;
答案 2 :(得分:0)
我认为你实际上正在尝试更新,插入到所有用于创建的内容,除非你使用替换,只有当表中的旧行与新行具有相同的值时才会覆盖你的行对于PRIMARY KEY或UNIQUE索引,(来自Mysql 5 reference但我不知道您正在使用哪个DBMS
从你的更新声明我看到prova没有'',也许这就是你的问题。
你应该使用:
UPDATE consulta
SET tema='prova' WHERE client=1;
答案 3 :(得分:0)
如果行已存在,则需要使用update语句 您可以在类的位置检查值为空。使用以下查询
update consultaSET tema='prova' WHERE tema='' and client=1