我有这个查询,直到上个月为止都没有错误。
SELECT ..., (SELECT count(id) FROM table2) as rows FROM table1;
现在 MySQL 抛出这个错误:
语法错误或访问冲突:1064 您的 SQL 语法有错误;请检查与您的 MySQL 服务器版本相对应的手册,以了解在“rows [...]”附近使用的正确语法。
是因为rows
成为了MySQL的保留字吗?
我在无法检查和/或控制的机器上运行查询,所以我不知道原因是否可能是软件更新。
我有这个查询,直到上个月为止都没有错误。
SELECT ..., (SELECT count(id) FROM table2) as rows FROM table1;
现在 MySQL 抛出这个错误:
语法错误或访问冲突:1064 您的 SQL 语法有错误;请检查与您的 MySQL 服务器版本相对应的手册,以了解在“rows [...]”附近使用的正确语法。
是因为rows
成为了MySQL的保留字吗?
我在无法检查和/或控制的机器上运行查询,所以我不知道原因是否可能是软件更新。
我正在使用带有 Java 和 LibGDX 的 Android Studio。
Android Studio 警告draw
“可能在循环内刷新”,并附有以下详细说明:
检查信息:查找在循环内直接或间接发生批次或渲染器刷新的可能性。出于性能原因,应注意不要引起不必要的刷新,并尽可能限制每帧的刷新次数。
DelayedRemovalArray<MyEntity> myEntities = ...;
bricks.begin();
for(MyEntity myEntity : myEntities) {
myEntity.draw(game.getBatch()); // warning: Possible flush inside a loop
}
bricks.end();
MyEntity.draw 方法:
Matrix4 tempMatrix = new Matrix4();
Matrix4 originalMatrix = new Matrix4();
NinePatchDrawable ninePatchDrawable = ...;
public void draw(SpriteBatch batch) {
originalMatrix.set(batch.getTransformMatrix());
tempMatrix.set(originalMatrix);
tempMatrix
.translate(myEntity.width/2, myEntity.height/2, 0)
.rotate(0, 0, myEntity.angle, 10)
.translate(-myEntity.width/2, -myEntity.height/2, 0);
batch.setTransformMatrix(tempMatrix);
ninePatchDrawable.draw(batch, ...);
batch.setTransformMatrix(originalMatrix);
}
如果我删除这两个batch.setTransformMatrix
调用,警告就会消失,但我需要这样做,否则 ninepatch 将不会绘制在正确的位置,因为 ninepatch.draw 方法在应用旋转时不考虑身体中心......关于 ninepatches 的这个问题,我在这里开了一个专门的 SO 问题
那么,如何才能做到不收到警告呢?有没有更好的方法呢?
谢谢