任何人都可以告诉如何在不使用update语句的情况下更新表的某些记录。可以使用select语句。
答案 0 :(得分:7)
如果没有 更新 声明,我认为您不能 更新 表。
答案 1 :(得分:1)
使用select语句是不可能的。
您可以删除一行并插入相同的行+您的更改,这在很多方面就像更新一样,但会对外键造成很多麻烦。
哦,你的DBA可能会杀了你。
答案 2 :(得分:1)
您可以使用
REPLACE INTO tablename(primary key, ...{rest of the columns in the table})
VALUES(the same primary key, new values );
这将删除上一行并插入具有相同主键和更新列值的新行。没有那么值得,但也许还有其他方法。
答案 3 :(得分:0)
这取决于您使用的工具以及您实际想要实现的目标。
答案 4 :(得分:0)
如何更新表的某些记录 不使用更新语句。
使用MERGE
声明。
可以使用select语句。
逻辑上,更新是一个删除和插入:INSERT INTO..SELECT
到登台表,根据需要修改数据,然后从登台表DELETE
然后INSERT INTO..SELECT
。
答案 5 :(得分:0)
关于你在问一个模块运行它创建的select语句时是如何发生这种情况的机会,那么你需要阅读SQL注入。如果没有某种更新语句(不仅包括更新,而是执行删除,然后插入或使用合并),您无法进行更新,并且用户必须具有对表的更新权限,但您可以向select语句添加更新,如果您没有正确地对其进行参数化以避免SQL注入,则会动态创建。