我试图通过使用下表的文字游戏节省15由15个字母板为在MySQL 5.6数据库中的225个字符的字符串:指定的225位默认为VARCHAR列
create table games (
gid integer primary key auto_increment,
player1 integer references users(uid) on delete cascade,
player2 integer references users(uid) on delete cascade,
stamp1 integer not null default 0,
stamp2 integer not null default 0,
letters1 varchar(7) not null,
letters2 varchar(7) not null,
letters varchar(116) not null,
board varchar(225) not null default space(225)
);
不幸的是,这将返回一个错误:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'space(225))'
我只是想用15×15的空间来初始化游戏板 - 并希望修改董事会每次移动后。
你能推荐一个更好的方法吗?
可以使用char(255)来代替,它会创建一个固定大小的列。请参阅http://dev.mysql.com/doc/refman/5.6/en/char.html – DBug
您是否建议'board char(225)not null default'''? –
是的。无法确定默认设置,但在检索时插入和剥离空格(可以让空格离开空间,请参见上面的链接),mysql将填充空格值最大为255的值 – DBug