简体   繁体   English

如何在mysql数据库中插入新字段

[英]How to insert new field in mysql database

Let assume we've database table My_table with (id-name) 假设我们的数据库表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');

How to automate adding new fields using php or something else so that it can be (id-new-name) 如何使用php或其他方式自动添加新字段,以便它可以是(id-new-name)

and where new = name after we replace spaces to - using 在将spaces替换为-之后,其中new = name

$new = str_replace(' ', '-', trim($name));

so the table become 所以桌子变成

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');

I'd like to operate it cause it has half million of lines and impossible to do it manually so any idea! 我想操作它,因为它有50万行,不可能手动完成,所以有任何想法!

Thanks for help. 感谢帮助。

You might want to do that: 您可能要这样做:

  1. Adding a new column to the table: 在表中添加新列:

    ALTER TABLE drink ADD new varchar(100) after id; ALTER TABLE饮料在id后添加新的varchar(100);

  2. Setting values for the new column using the pattern you described: 使用您描述的模式为新列设置值:

    UPDATE drink SET new = REPLACE(name, ' ', '-'); UPDATE Drink SET new = REPLACE(name,'','-');

RESOURCES: 资源:

当您在MySQL中插入任何内容时,您必须指定列。像这样的INSERT INTO banans ( id , sort ) VALUES ('1','Green')

If you only need the value back, and don't need to search by new , you can: 如果只需要返回值,而无需按new搜索,则可以:

SELECT id, REPLACE(name, ' ','-') AS new, name
FROM drink

与Macovei所建议的类似,您可以通过执行以下操作在插入新记录时生成新名称:

INSERT INTO drink (new, name) VALUES ('the name', REPLACE('the name', ' ', '-'))

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM