好的,所以我有一个插入数据库的普通查询。
mysql_query("INSERT INTO users_pm_in (uID, msg) VALUES ('$uID', '$msg')");
现在这个表还有一个名为“id”的列,其中包含auto_increment&主键。
当它插入时,auto会为行中的列生成数字。现在我想要这个数字,并把它放在列对话框中,在同一行。因此插入的行在“id”和“dialog”中具有相同的数字/ id。我怎么能这样做?
答案 0 :(得分:5)
不确定是否可以在一个查询中完成此操作(或者您甚至想要执行此操作的原因),但您可以使用此命令:
mysql_query("INSERT INTO users_pm_in (uID, msg) VALUES ('$uID', '$msg')");
mysql_query("UPDATE users_pm_in SET dialog = id WHERE id = '".mysql_insert_id()."');
请务必正确转义变量。
答案 1 :(得分:1)
我认为删除自动增量并自行添加id +对话框值会更容易。
答案 2 :(得分:1)
查看mysql_insert_id()
答案 3 :(得分:1)
你可以做到这一点,尽管效率不高......
请说明你有这张表:
CREATE TABLE `test` (
`id` INT(10) NOT NULL AUTO_INCREMENT,
`a` INT(10) NULL DEFAULT '0',
`b` INT(10) NULL DEFAULT '0',
PRIMARY KEY (`id`)
)
ENGINE=MyISAM
ROW_FORMAT=DEFAULT
您可以执行以下查询:
INSERT INTO test (a, b) SElECT IFNULL((MAX(id) +1),1), 200 FROM test;
请注意,“200”是将在“b”列上插入的随机值。