¿Por qué hacer referencia a un rowid de SQLite causa una discrepancia de clave externa?

SQLite version 3.7.9 2011-11-01 00:52:41
sqlite> PRAGMA foreign_keys = 1;
sqlite> CREATE TABLE foo(name);
sqlite> CREATE TABLE bar(foo_rowid REFERENCES foo(rowid));
sqlite> INSERT INTO foo VALUES('baz');
sqlite> SELECT rowid, name FROM foo;
1|baz
sqlite> INSERT INTO bar (foo_rowid) VALUES (1);
Error: foreign key mismatch

¿Por qué se produce este error? Es unError DML, pero no sé qué está mal porque:

foo existefoo.rowid existefoo.rowid es la clave principal defoo y por lo tanto restringido a la singularidad.bar.foo_rowid es una columna, que coincide con el hecho de quefoo.rowid es una columna

Respuestas a la pregunta(2)

Su respuesta a la pregunta