1:问题故障描述 因为在linux下开发,所以修改mysql字段的时,用的phpmyadmin来直接修改生成修改后的sql,然后复制进word(libreoffice)后提交到项目管理系统, 同事发到项目管理系统后不能运行.于是有了这篇文章. 2:首先新建表 CREATE TABLE IF NOT EXISTS `nns_a
1:问题故障描述
因为在linux下开发,所以修改mysql字段的时,用的phpmyadmin来直接修改生成修改后的sql,然后复制进word(libreoffice)后提交到项目管理系统,
同事发到项目管理系统后不能运行.于是有了这篇文章.
2:首先新建表
CREATE TABLE IF NOT EXISTS `nns_ad_log_count` ( `nns_id` char(32) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL COMMENT '广告ID', `nns_access_type` tinyint(4) NOT NULL COMMENT '0:5m 1:1h 2:24h=1d', `nns_access_day` date NOT NULL COMMENT '哪一天的', `nns_access_index` int(11) NOT NULL COMMENT '间隔数,5m 1h 1d=24h', `nns_access_count` int(11) NOT NULL ) ENGINE=InnoDb DEFAULT CHARSET=utf8;
这步是OK的.
接着因为项目扩展,增加了1个字段,同时需要修改一个表的字段名和另外几个表的default 默认值和类型
ALTER TABLE `nns_ad_log_count` CHANGE `nns_id` `nns_ad_id` CHAR( 32 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL COMMENT '广告ID';
上面这步,是用的phpmyadmin添加的字段后生成的一句sql, 看上去是没问题的,复制到word里面,再拿到mysql里面执行一下
报错了.百思不得其解,
为什么会这样子呢?
3: 错误分析.
生成的sql,是干净的, 途中同事只粘贴进了word.
于是手写了一遍这个sql,并且在mysql里面运行 (为了测试,我复制了上面的表结构,并且新建了一个测试的表`nns_ad_log_count1`)
运行正常
同事只复制了一次,粘贴到了word (libreoffice)
我重复一下他的动作
"1. 先用浏览器打开phpmyadmin,在phpmyadmin里面直接修改一次,产生sql语句"
"2. 在phpmyadmin 里面,复制生成的sql到系统的剪贴板缓存"
"3. 粘贴进word"
"4. 重复其他的修改操作,重复1,2,3步"
"5. 把整个word发送给我"
"6. 我把word里面的sql拷贝出来,运行 "
"7. 报错"
打开word,发现sql的语句的空格在word里面高亮了
但是在mysql里面直接执行并没能看见这个东西,在phpmyadmin里面执行上面的sql
空格显示出来了,原来是这个?
自此问题已经明了.sql语句在复制到word后给污染了. 但是为什么会这样子污染呢? 发现只有word粘贴进去后,会把utf8下的空格换成?
这个应该是linux下的office工具的问题, 这里就不再陈述了
4: 后记, 在linux下做开发提交的sql语句,
建议复制到vim里面查看详细的格式,
或者更简单的,复制出来后,在浏览器地址栏粘贴一次再复制进word来提交文档.以免sql变脏出错.

linux设备节点是应用程序和设备驱动程序沟通的一个桥梁;设备节点被创建在“/dev”,是连接内核与用户层的枢纽,相当于硬盘的inode一样的东西,记录了硬件设备的位置和信息。设备节点使用户可以与内核进行硬件的沟通,读写设备以及其他的操作。

区别:1、open是UNIX系统调用函数,而fopen是ANSIC标准中的C语言库函数;2、open的移植性没fopen好;3、fopen只能操纵普通正规文件,而open可以操作普通文件、网络套接字等;4、open无缓冲,fopen有缓冲。

端口映射又称端口转发,是指将外部主机的IP地址的端口映射到Intranet中的一台计算机,当用户访问外网IP的这个端口时,服务器自动将请求映射到对应局域网内部的机器上;可以通过使用动态或固定的公共网络IP路由ADSL宽带路由器来实现。

在linux中,eof是自定义终止符,是“END Of File”的缩写;因为是自定义的终止符,所以eof就不是固定的,可以随意的设置别名,linux中按“ctrl+d”就代表eof,eof一般会配合cat命令用于多行文本输出,指文件末尾。

在linux中,交叉编译是指在一个平台上生成另一个平台上的可执行代码,即编译源代码的平台和执行源代码编译后程序的平台是两个不同的平台。使用交叉编译的原因:1、目标系统没有能力在其上进行本地编译;2、有能力进行源代码编译的平台与目标平台不同。

在linux中,可以利用“rpm -qa pcre”命令判断pcre是否安装;rpm命令专门用于管理各项套件,使用该命令后,若结果中出现pcre的版本信息,则表示pcre已经安装,若没有出现版本信息,则表示没有安装pcre。

linux查询mac地址的方法:1、打开系统,在桌面中点击鼠标右键,选择“打开终端”;2、在终端中,执行“ifconfig”命令,查看输出结果,在输出信息第四行中紧跟“ether”单词后的字符串就是mac地址。

在linux中,rpc是远程过程调用的意思,是Reomote Procedure Call的缩写,特指一种隐藏了过程调用时实际通信细节的IPC方法;linux中通过RPC可以充分利用非共享内存的多处理器环境,提高系统资源的利用率。


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

드림위버 CS6
시각적 웹 개발 도구

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경
