2013-11-28 5 views
1

У меня есть таблица Mysql со 100 строками, id - это первичный ключ. У меня есть столбец_А, у которого есть некоторые ячейки, которые не заполнены, только нулевые значения. Теперь я хочу, чтобы оператор sql вставлял значение в первую пустую ячейку. И если я снова запустил PHP скрипт, то он вставляет в следующую ячейку нуль и т.д. Что-то вроде:Sql - Вставить значение только в первую пустую ячейку столбца

$sql = "update my_TABLE, only affect the first COLUMN_A,row_i that is null 

набор COLUMN_A, row_i = 20" ;

пример:

COLUMN_A 

6 
7 
null 
null 
null 

после выполнения сценария,

COLUMN_A 

6 
7 
20 
null 
null 
+0

решенный с помощью @Filipe Silva – user3043277

ответ

4

Вы можете сделать:

UPDATE table1 
SET column_a = 20 
WHERE column_a IS NULL 
LIMIT 1; 

Но вы действительно должны иметь какой-то порядок по-настоящему получить строку, которую вы хотите, как в следующем примере:

UPDATE table1 
SET column_a = 25 
WHERE column_a IS NULL 
ORDER BY id ASC 
LIMIT 1; 

sqlfiddle demo

+0

Я обещаю, что это будет мой последний вопрос. Я также хочу иметь sql-скрипт, который будет печатать внутри PHP (echo) значения ID и COLUMN B, соответствующие первому COLUMN Нулевое значение (т. Е. ID = 3; COLUMN B = 11). Как это сделать? Заранее спасибо. – user3043277

+0

@ пользователь3043277. Вам лучше написать новый вопрос для этого, так как я не очень свободно владею php, и этот комментарий вряд ли привлечет много внимания, поэтому вы можете не найти ответ :) –

+0

Благодарим вас за помощь в оригинальном вопросе. Я попытаюсь создать его по-другому и спросить позже. – user3043277

-1
UPDATE table1 
SET column_a = 20 
WHERE column_a IS NULL 
LIMIT 1; 
+0

Вопрос уже ответил, копирование ответа, размещенного в предыдущих сообщениях, никому не помогает. – Shubhansh

Смежные вопросы