mysql on update
时间: 2024-01-04 14:20:10 浏览: 36
MySQL中的ON UPDATE用于在更新表中的记录时,指定一个动作或值。它可以与ALTER TABLE语句一起使用来修改表的结构。
以下是ON UPDATE的一些用法示例:
1. 使用ON UPDATE CURRENT_TIMESTAMP来更新时间戳列:
```sql
ALTER TABLE table_name MODIFY column_name TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;
```
这将在更新记录时自动更新时间戳列的值。
2. 使用ON UPDATE CASCADE来更新外键关联的表:
```sql
ALTER TABLE table_name ADD CONSTRAINT constraint_name FOREIGN KEY (column_name) REFERENCES referenced_table_name(referenced_column_name) ON UPDATE CASCADE;
```
这将在更新主表的记录时,自动更新外键关联的从表中的记录。
3. 使用ON UPDATE SET NULL来将外键列设置为NULL:
```sql
ALTER TABLE table_name ADD CONSTRAINT constraint_name FOREIGN KEY (column_name) REFERENCES referenced_table_name(referenced_column_name) ON UPDATE SET NULL;
```
这将在更新主表的记录时,将外键列设置为NULL。
4. 使用ON UPDATE SET DEFAULT来将外键列设置为默认值:
```sql
ALTER TABLE table_name ADD CONSTRAINT constraint_name FOREIGN KEY (column_name) REFERENCES referenced_table_name(referenced_column_name) ON UPDATE SET DEFAULT;
```
这将在更新主表的记录时,将外键列设置为默认值。
总之,ON UPDATE是MySQL中用于在更新表中的记录时指定动作或值的关键字。它可以用于更新时间戳列、更新外键关联的表、将外键列设置为NULL或默认值等操作。