最近,我在phpmyadmin
上查找数据库,并且有一个名为momios_partido
的表,该表具有以下列:
- mopa_id int(11) **(Primary key)**
- par_id int(11) **(Foreign key references a table called "partido")**
- tiju_id int(11) **(Foreign key references a table called "tipo_jugada")**
- mopa_valor int(11) **(This one is to assign a value)**
好吧,我正在做一个select * from that table
并且mysqld.exe
进程停止了,当我重新启动它时,该表不再出现,所以我认为错误清除了该表,我尝试创建该表再次出现,我无法创建它。
我一直在寻找原因,所以我应用了以下命令而没有结果:
- flush table momios_partido
- Drop table if exists momios_partido
- Clear the .frm files in mysql/data/mydatabase:
而且我仍然遇到相同的错误,因此我创建了另一个表以查看在没有主键momiospartido
的情况下我叫mopa_id
的表发生了什么(这意味着我使用{{1 }}列)
因此phpmyadmin允许创建它,此后,我将外键添加到par_id, tiju_id and mopa_valor
并完美地工作,后来当我添加字段par_id and tiju_id
并将该字段设置为主键时,错误再次出现(mysqld.exe已停止,并且重新启动后不再显示)
因此,我无法使用以下名称创建新表:mopa_id
与添加到表中的列完全不同。
外键具有相同的数据类型("momios_partido","momiospartido"
),相同的引擎INNODB,并使用phpmyadmin接口(不带sql命令)直接创建。
那我在做什么错了?。
希望能帮助我,非常感谢。
答案 0 :(得分:0)
尝试一下:
CREATE TABLE momios_partido
(
mopa_id int(11) Primary key,
par_id int(11),
tiju_id int(11),
mopa_valor int(11),
FOREIGN KEY (par_id) REFERENCES partido(par_id),
FOREIGN KEY (tiju_id) REFERENCES tipo_jugada(tiju_id)
)engine = innodb;