As @xnor said, we can show it is not possible by using a parity argument. Let's look at a few examples of smaller tables to illustrate the argument. Let's start with the obviously impossible 2x2:
---------
| 0 | 1 |
---------
| 1 | 0 |
---------
To get a 0 and a 1, with something in each of columns 0 and 1, and something in each of rows 0 and 1, we need the total sum of rows, columns, and entries to be 3. However, look at the four entries:
0 at 0,0 (sum 0)
1 at 1,0 (sum 2)
1 at 0,1 (sum 2)
0 at 1,1 (sum 2)
There's no way to get a sum of 3 because they are all even. Let's move on to a 3x3:
-------------
| 0 | 1 | 2 |
-------------
| 2 | 0 | 1 |
-------------
| 1 | 2 | 0 |
-------------
In this case, there are solutions:
-------------
|*0*| 1 | 2 |
-------------
| 2 | 0 |*1*|
-------------
| 1 |*2*| 0 |
-------------
However, look at the odds vs evens:
-------------
|*0*| 1 |*2*|
-------------
|*2*|*0*| 1 |
-------------
| 1 |*2*|*0*|
-------------
Unlike in the 10x10 table, they do not follow a checkerboard pattern. If we calculate the sums:
0 at 0,0 = 0
1 at 2,1 = 4
2 at 1,2 = 5
The overall sum is 9 - exactly what we'd expect to get from having 0, 1, and 2, with a representative from each of columns 0, 1, and 2, and a representative from each of rows 0, 1, and 2.
Now let's look at a 4x4, with the even numbers marked:
-----------------
|*0*| 1 |*2*| 3 |
-----------------
| 3 |*0*| 1 |*2*|
-----------------
|*2*| 3 |*0*| 1 |
-----------------
| 1 |*2*| 3 |*0*|
-----------------
So now we know that if an entry's row+column is even, the entry is even. If the entry's row+column is odd, the entry is odd. In both cases, the parity is even. We need 0+1+2+3 from columns 0+1+2+3 and rows 0+1+2+3 = 18, which is even. Since the needed parity is even, parity does not rule out that there might be a solution.
It actually still doesn't work. The easiest way to see this is by choosing any 0, which rules out two of each of the other numbers. Then look at the two options for 2 - one rules out both the remaining 1s, and the other rules out both the remaining 3s:
----------------- -----------------
| 0 | | | | | | | 2 | 3 |
----------------- -----------------
| | | 1 | 2 | | | 0 | | |
----------------- -----------------
| | 3 | | 1 | | 2 | | | 1 |
----------------- -----------------
| | 2 | 3 | | | 1 | | 3 | |
----------------- -----------------
With a 5x5:
---------------------
| 0 | 1 | 2 | 3 | 4 |
---------------------
| 4 | 0 | 1 | 2 | 3 |
---------------------
| 3 | 4 | 0 | 1 | 2 |
---------------------
| 2 | 3 | 4 | 0 | 1 |
---------------------
| 1 | 2 | 3 | 4 | 0 |
---------------------
Our parity check says we need (0+1+2+3+4)*3 = 30, and we don't have a checkerboard pattern of odds and evens, so it's worth looking for a solution. It turns out there's quite an easy one to find:
---------------------
|*0*| 1 | 2 | 3 | 4 |
---------------------
| 4 | 0 | 1 | 2 |*3*|
---------------------
| 3 | 4 | 0 |*1*| 2 |
---------------------
| 2 | 3 |*4*| 0 | 1 |
---------------------
| 1 |*2*| 3 | 4 | 0 |
---------------------
With a 6x6:
-------------------------
| 0 | 1 | 2 | 3 | 4 | 5 |
-------------------------
| 5 | 0 | 1 | 2 | 3 | 4 |
-------------------------
| 4 | 5 | 0 | 1 | 2 | 3 |
-------------------------
| 3 | 4 | 5 | 0 | 1 | 2 |
-------------------------
| 2 | 3 | 4 | 5 | 0 | 1 |
-------------------------
| 1 | 2 | 3 | 4 | 5 | 0 |
-------------------------
Here the parity check fails. If we start to list out each entry:
0 at 0,0 = 0
1 at 1,0 = 2
2 at 2,0 = 4
3 at 3,0 = 6
4 at 4,0 = 8
5 at 5,0 = 10
5 at 0,1 = 6
0 at 1,1 = 2
1 at 2,1 = 4
2 at 3,1 = 6
3 at 4,1 = 8
...
it's easy to see that in each case, the sum of entry+row#+column# is even. However, to get 0+1+2+3+4+5 while representing each of columns 0+1+2+3+4+5 and rows 0+1+2+3+4+5, we need the total sum of entry+row+column to be 45, an odd number. Thus there cannot be a way to solve a 6x6.
I'm not going to go any farther, because they're getting big enough that I don't think it's easy enough to see the connection for it to be helpful. However, I did notice that odd-sized tables have a trivial way to generate a solution - choose the zero at 0,0, and then go diagonally up and to the right (wrapping around):
-----------------------------
|*0*| 1 | 2 | 3 | 4 | 5 | 6 |
-----------------------------
| 6 | 0 | 1 | 2 | 3 | 4 |*5*|
-----------------------------
| 5 | 6 | 0 | 1 | 2 |*3*| 4 |
-----------------------------
| 4 | 5 | 6 | 0 |*1*| 2 | 3 |
-----------------------------
| 3 | 4 | 5 |*6*| 0 | 1 | 2 |
-----------------------------
| 2 | 3 |*4*| 5 | 6 | 0 | 1 |
-----------------------------
| 1 |*2*| 3 | 4 | 5 | 6 | 0 |
-----------------------------