【发布时间】:2012-07-28 23:04:02
【问题描述】:
好的,所以我see 认为这是错误的做法:
mysql>
mysql> show tables;
+---------------------+
| Tables_in_nntp |
+---------------------+
| articles |
| newsgroups |
| newsgroups_articles |
+---------------------+
3 rows in set (0.00 sec)
mysql> describe newsgroups;
+-----------+----------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+----------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| newsgroup | longtext | NO | | NULL | |
+-----------+----------+------+-----+---------+----------------+
2 rows in set (0.00 sec)
mysql> show create table newsgroups;
+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| newsgroups | CREATE TABLE `newsgroups` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`newsgroup` longtext NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=latin1 |
+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
mysql> ALTER TABLE newsgroups ADD UNIQUE (newsgroup);
ERROR 1170 (42000): BLOB/TEXT column 'newsgroup' used in key specification without a key length
mysql>
has 应该填充trigger?
好的,作为root我做了一个触发器:
mysql>
mysql> show tables;
+---------------------+
| Tables_in_nntp |
+---------------------+
| articles |
| newsgroups |
| newsgroups_articles |
+---------------------+
3 rows in set (0.00 sec)
mysql>
mysql> delimiter |
mysql> CREATE TRIGGER make_hash BEFORE INSERT ON newsgroups
-> FOR EACH ROW BEGIN
-> INSERT INTO hash values ('0');
-> END;
-> |
Query OK, 0 rows affected (0.18 sec)
mysql>
但是,这只是虚拟数据。如何使该触发器实际创建哈希?
【问题讨论】:
-
'TRIGGER command denied to user ...' - 你应该检查你的用户有什么权限,并在必要时用不同的用户运行创建触发器。
-
@Vatev 我会以 root 身份尝试,但我认为这不是问题,用户 java 有
USAGE。
标签: mysql triggers schema constraints mysql-error-1170