我正在使用java来修改表。运行此代码之后
tab=b[i];
myStatement.executeUpdate("UPDATE hetero.temporary SET CatTable = ' "+tab+" ' WHERE CatTable IS NULL");
我的桌子被修改了
+----------------------------------------------+
| '1', 'Achilles Tendon', ' Bodyparts ', '0' |
| '2', 'Adenoids', ' Bodyparts ', '0' |
| '3', 'Adrenaline', ' Bodyparts ', '0' |
| '4', 'Alimentary Canal', ' Bodyparts ', '0' |
+----------------------------------------------+
但是使用
SELECT *
FROM hetero.temporary
Where Cattable LIKE 'Bodyparts '
返回
所有值均为空的行
如果它能帮助我使用MySQL Workbench和intellij
注意您插入的值
' Bodyparts '
它在文本前后都有一个空格。当你搜索时,你在寻找
LIKE 'Bodyparts '
请注意缺少引导空间。此外,由于您没有包含任何通配符,因此该语句相当于
= 'Bodyparts '
所以当然没有什么比得上。如果你写,这会起作用
LIKE '%Bodyparts%'
但目前还不清楚这是你想要的。决定你是否真的想要前导空格和尾随空格。
另外,请注意,以这种方式构建SQL语句容易受到SQL注入攻击。你应该使用占位符,如
"UPDATE hetero.temporary SET CatTable = ? WHERE CatTable IS NULL"
然后在运行时使用准备好的语句提供该值。