我正在使用PHPMyAdmin,并尝试将NOT NULL约束添加到我的表的列中。将NOT NULL约束添加到列
的phpMyAdmin接受我下面的查询:
ALTER TABLE `wall` MODIFY `token_message` varchar(40) NOT NULL;
但我仍可以插入空字符串(= NULL),我不明白为什么。 PS:如果你打算给我一些其他的查询来添加这个约束,注意我已经尝试了这3个不能在我的PHPMyAdmin中工作的类型的错误:#1064 - 你有一个错误在您的SQL语法;检查手册):
ALTER TABLE `wall` ALTER COLUMN `token_message` SET NOT NULL;
ALTER TABLE `wall` ALTER COLUMN `token_message` varchar(40) NOT NULL;
ALTER TABLE `wall` MODIFY `token_message` CONSTRAINTS token_message_not_null NOT NULL;
定义 “不要在我的phpMyAdmin的工作。”也许你已经在该列中有了'null'值,在这种情况下,数据库不会让你添加该约束(至少不是首先将这些'null'值设置为'null'以外的值)。 – 2012-04-18 21:27:37
您是否尝试过创建新列并将数据复制过来? – Hajo 2012-04-18 21:28:31
我已经验证过,我还没有在该列的空值。当我尝试3个其他查询时出现的错误是:#1064 - 你的SQL语法有错误 – Anon 2012-04-18 21:31:18