Tensor product of A-module M with itself equals M Suppose that $A$ is a commutative ring and $M$ is an $A$-module such that $M \otimes_A M=M$. Is it true that $M=A$?
If not, does the answer change if $M$ is a ring and $A \subset M$? 
 A: $\mathbb Q \otimes_{\mathbb Z} \mathbb Q = \mathbb Q$ gives a negative answer to both questions.
A: Here is a sufficient condition which implies $M=A$:

Let $A$ be a field and $M$ a nonzero $A$-algebra (not just an $A$-module). Assume the underlying isomorphism of $M\otimes_R M=M$ is the multiplication map $m\otimes m'\mapsto mm'$. Then $M=A$.

Under these assumptions, we have a composition of $A$-module isomorphisms:
$A\otimes_A M\longrightarrow M\longrightarrow M\otimes_A M$,
$a\otimes m\longmapsto am\longmapsto 1\otimes am=a1\otimes m$.
So this composition is induced by tensoring the structural map $A\rightarrow M$ with the identity $\mathrm{id}_M$.
Now we recall a fact:

Every nonzero module over a field is faithfully flat.

This holds since modules over fields are always free.
Since $M\ne0$, the structural map $A\rightarrow M$ (which is a ring map) is injective.
So we may regard $A\subset M$ via this map (which satisfies your 2nd concern).
Now $M$ is faithfully flat over $A$. Thus, the structure map $A\rightarrow M$ becomes an isomorphism, i.e. $M=A$.
Remark.
The source of this special case is Bosch's book on Néron models.
On page 35: At the end of the proof of Proposition 2.2/2, we encounter a similar question to yours. The book uses dimension argument, but I actually didn't see why $A$ is a finite-dimensional $k$-vector space there. So I used faithful flatness to circumvent this issue.
