假设我们的数据库表My_table为(id-name)
CREATE TABLE `drink` (
`id` int(5) NOT NULL auto_increment,
`name` varchar(64) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=9034 ;
INSERT INTO `My_table` VALUES (1, 'my name is someone');
如何使用php或其他方式自动添加新字段,以便它可以是(id-new-name)
以及使用
将spaces
替换为-
后new = name的位置
$new = str_replace(' ', '-', trim($name));
所以表变为
CREATE TABLE `drink` (
`id` int(5) NOT NULL auto_increment,
`new` varchar(64) NOT NULL default '',
`name` varchar(64) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=9034 ;
INSERT INTO `My_table` VALUES (1, 'my-name-is-someone', 'my name is someone');
我想操作它,因为它有50万行,不可能手动完成 所以任何想法!
感谢您的帮助。
答案 0 :(得分:1)
您可能想要这样做:
在表格中添加新列:
ALTER TABLE drink在id;
使用您描述的模式设置新列的值:
UPDATE drink SET new = REPLACE(name,'',' - ');
资源:
答案 1 :(得分:0)
当你插入任何MySQL时,你必须指定列。就像这样
INSERT INTO
{banans {1}} ID为(
{排序{1}}
答案 2 :(得分:0)
如果您只需要返回值,而不需要按new
搜索,则可以:
SELECT id, REPLACE(name, ' ','-') AS new, name
FROM drink
答案 3 :(得分:0)
与Macovei建议的类似,您可以在插入新记录时生成新名称:
INSERT INTO drink (new, name) VALUES ('the name', REPLACE('the name', ' ', '-'))