我想为字段设置不同的文本 我正在尝试那种代码
SET @rand = 100;
UPDATE myTable SET name = 'a' ORDER BY RAND() LIMIT @rand;
UPDATE myTable SET name = 'b' ORDER BY RAND() LIMIT @rand;
UPDATE myTable SET name = 'c' ORDER BY RAND() LIMIT @rand;
我收到错误
1221 - UPDATE和ORDER BY
的使用不正确
感谢您的帮助
答案 0 :(得分:1)
为什么要通过RAND()进行更新。它会减慢你的更新?按索引列(如主键)排序。这是一个性能杀手。
当您确切地知道要一次更新多少条记录时,设置@rand = 100是什么意思?
我假设您有一个名为 id
的主键update myTable set name = 'a' order by id desc limit 100;
update myTable set name = 'b' order by id desc limit 100;
update myTable set name = 'c' order by id desc limit 100;
答案 1 :(得分:1)
有效!
UPDATE myTable SET name = 'a' ORDER BY RAND() LIMIT 100;
问题出在我复杂的INNER JOIN中。
答案 2 :(得分:0)
我假设您要使用随机值更新表格列。您只需为此执行 NSCalendar *calendar = [[FFSharedCalendar singleton] getGregorianCalendar];
NSDate *startOfDay = [calendar dateBySettingHour:0 minute:0 second:0 ofDate:[NSDate date] options:0];
NSDate *endOfDay = [calendar dateBySettingHour:23 minute:59 second:59 ofDate:[NSDate date] options:0];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"createdAt > %@ AND createdAt < %@", startOfDay, endOfDay];
NSArray* plans = [Plan MR_findAllWithPredicate:predicate];
查询。
update
这将使用rand Value更新整个表。如果要自定义随机值,请将其分配给变量并进行组织。