Mysql自动插入一个值

时间:2010-09-11 10:40:39

标签: php mysql

是否有可能让mysql根据插入同一个表中另一列的内容在列中插入值。例如:如果我要将纽约插入一列,则另一列可能自动为纽约。是的,我必须在某个地方存储此信息。但是可以这样做吗?

2 个答案:

答案 0 :(得分:2)

如果我正确地理解了所有内容,那么您试图在列(纽约)中插入一个值,并在第二列中插入另一个值,该值取决于第一个值(在本例中为NY)。

让我们使用您的城市 - 州示例,并假设您有一个表cities与所有城市 - 州协会。

INSERT INTO table SET
city = 'New York',
state = (SELECT state FROM cities WHERE city = 'New York');

你必须使用这种类型的子查询,而不是使用会自动填充state列的触发器,因为MySQL中的触发器无法在已打开的表上工作,正如@Michal Drozd所指出的那样。 (但它们至少可以在SQL Server和Oracle中使用。)

答案 1 :(得分:0)

当然。您可以使用MySQL触发器。

编辑:但遗憾的是,对于同一个表,不允许触发器重新打开与之关联的表,或者该线程当时可能打开的任何表。