MySQL 5.7 对列和 MAX() 值进行数学运算
MySQL 5.7 do math with column and a MAX() value
我有一个临时 table,其中有一列从 1 中枚举。我想获取另一个 table 中一列的 MAX() 值,并将其添加到临时中的所有列table。我用这样的变量试过:
SET @cc_maxguid = SELECT MAX(guid) FROM item_instance;
UPDATE tempItems SET guid = guid + @cc_maxguid WHERE owner_guid = '..targetGUID..';
虽然 targetGUID 是从 LUA 脚本的变量中添加的。
响应是:Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT MAX(guid) FROM item_instance' at line 1
基本上,例如这个tempItems
table
guid A B
1 5 6
2 4 7
3 3 8
item_instance
的 MAX(guid) 值为 20 应该变成
guid A B
21 5 6
22 4 7
23 3 8
我如何调整我的查询以使其请求并添加 MAX(guid) 值?
当您尝试更新 MySQL 中的 table 并在您的更新标准中使用相同的 table 时,会发生此错误。
SET @cc_maxguid = (SELECT MAX(guid) FROM item_instance);
UPDATE tempItems SET guid = guid + @cc_maxguid WHERE owner_guid = '..targetGUID..';
以上查询应该 运行 没问题。如果您没有分享查询的另一部分,请告诉我。
我有一个临时 table,其中有一列从 1 中枚举。我想获取另一个 table 中一列的 MAX() 值,并将其添加到临时中的所有列table。我用这样的变量试过:
SET @cc_maxguid = SELECT MAX(guid) FROM item_instance;
UPDATE tempItems SET guid = guid + @cc_maxguid WHERE owner_guid = '..targetGUID..';
虽然 targetGUID 是从 LUA 脚本的变量中添加的。
响应是:Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT MAX(guid) FROM item_instance' at line 1
基本上,例如这个tempItems
table
guid A B
1 5 6
2 4 7
3 3 8
item_instance
的 MAX(guid) 值为 20 应该变成
guid A B
21 5 6
22 4 7
23 3 8
我如何调整我的查询以使其请求并添加 MAX(guid) 值?
当您尝试更新 MySQL 中的 table 并在您的更新标准中使用相同的 table 时,会发生此错误。
SET @cc_maxguid = (SELECT MAX(guid) FROM item_instance);
UPDATE tempItems SET guid = guid + @cc_maxguid WHERE owner_guid = '..targetGUID..';
以上查询应该 运行 没问题。如果您没有分享查询的另一部分,请告诉我。