有什么方法可以将我的几个专栏组合在一起吗?
在我的脚本中,我需要将几个列设置为相同的值,有没有比在更新查询中键入所有列名更好的方法?
感谢
答案 0 :(得分:1)
如果这些列必须始终具有相同的值(这似乎毫无意义),您可以在列上设置UPDATE TRIGGER
delimiter |
CREATE TRIGGER somename BEFORE INSERT ON table1
FOR EACH ROW BEGIN
SET table1.col2=NEW.col1, table1.col3=NEW.col1;
END;
delimiter ;
但如果是这样的话,那么只使用一列而不是三列是真的有意义。
或者,如果它是一个权利问题(该用户不应该拥有使列不同的权限),您可以构建一个存储过程来进行更新
delimiter |
CREATE STORED PROCEDURE somename(IN val INT,IN whereval INT)
BEGIN
UPDATE table1 SET table1.col1=val, table1.col2=val, table1.col3=val
WHERE table1.id=whereval;
END;
delimiter ;
答案 1 :(得分:0)
您需要输入每个列的名称,没有解决方法。
UPDATE mytable
SET col1 = 1,
col2 = 1,
…
答案 2 :(得分:0)
答案 3 :(得分:0)
Update syntax for MySQL要求每列都明确命名
update table set a = 'value', b = 'value'