我在表格中插入一个新行。是否可以在插入期间使用主键(id)作为同一行中列的值的一部分?例如,假设我刚刚插入了一个id为6的新行,是否可以将同一行中的image_address列设置为“folder / 6”,其中6来自id?这是一个INSERT。
表格
id(主键,自动增量)
image_address(我希望在其中包含id)
答案 0 :(得分:1)
您可以在INSERT之后放置一个触发器来更新image_address并使用新的id。 但是,当你可以随时以编程方式重新创建'folder / 6'路径时,为什么要这样做呢?您可以在脚本或选择中执行此操作。例如:
SELECT id, CONCAT('folder/',id,'/') as path FROM table
答案 1 :(得分:1)
正如其他人所指出的,您可以在以后的调用中以编程方式使用该ID,它可能更有效。
但是,让我们想象你仍然想要这样做(也许你以后会把它加入到其他数据中,或者将它与一些非数据精明的人一起使用,无论如何)。
我会在两个命令中执行此操作。
首先,运行您的插入以生成ID,并将'folder /'填入image_address
列的静态值。
其次,对新创建的表运行UPDATE
查询(或者如果您只是向现有表添加行,则可以UPDATE
WHERE image_address = 'folder/'
),在此更新中,您可以通过将image_address
与id
连接来修改{{1}}字段。